php中关于mysql的操作非常简单,然而最近在做一个小工具的时候发现php写入mysql的数据库中出现了中文字符的乱码,这个乱码的问题纠结了我好久,明明英文字符写入正常,但是中文就是乱码!
一开始我感觉是我建立mysql数据库的时候没有设置UTF-8字符集,然而后来我发现即使我设置了这个字符集还是不能解决问题,写入mysql的字符串照样乱码。
解决这个问题其实很简单.
1.在建表的时候设置编码类型为gb2312_chinese_ci.
2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如
代码如下 | 复制代码 |
$db_host="localhost"; $link=mysql_connect($db_host,$db_user,$db_password); |
写入页面和读取页面都加入这行.这样在MYSQL里面的中文就能正常显示了.
另外种办法修改配置文件my.cnf
代码如下 | 复制代码 |
[mysqld] default-character-set=utf8 |
重新启动MYSQL改过 这个改了就是把 character_set_server 设成utf8
好了到这些关于php写入mysql中文乱码问题就解决了,当然我们主要是注意页面与数据库之间的编码然后使用mysql_query()进行设置。