首页/Home PHP Basics PHP + MySQL 汉字显示问题小结

PHP + MySQL 汉字显示问题小结

PrintE-mail
Friday, 18 January 2008 08:00  

PHP 和 MySQL 相结合使用,是非常优秀的组合。汉字不能正常显示也并非罕见之事。下面是一些可能的解决方案。希望能对您有所帮助。

总结起来,可考虑之处大致有三:
A. 用HTML设置
B. 用PHP设置
C. 在MySQL服务器端设置

对于HTML,可考虑在<head>中设置页面的编码方式:
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

对于PHP,首先查看当前MySQL的编码模式:
<?php
$link
= mysql_connect('host', 'user', 'password');
$charset = mysql_client_encoding($link);
printf ("Current character set is %s\n", $charset);
?>
如果不是GB2312或utf-8,则可修改如下:
$rs = mysql_query("SET NAMES 'GB2312'");
该查询等同于在MySQL中设置:
SET character_set_client = GB2312;
SET character_set_results = GB2312;
SET character_set_connection = GB2312;

对于MySQL,有两种选择:
A 在MySQL配置文件中进行上面的设置
B 创建表的时候指定编码方式:
CREATE TABLE Tablename (Colomnname CHAR(40) CHARACTER SET GB2312);

总结起来讲,原则上是以上三个方面设置要统一。可都用GB2312,也可都用utf-8。如果页面上不止有中文,那么就提倡用utf-8了。

希望本文对您能有所帮助。