程序员人生 网站导航

php写入mysql中文乱码问题解决办法

栏目:php教程时间:2014-05-08 17:58:05

php中关于mysql的操作非常简单,然而最近在做一个小工具的时候发现php写入mysql的数据库中出现了中文字符的乱码,这个乱码的问题纠结了我好久,明明英文字符写入正常,但是中文就是乱码!

一开始我感觉是我建立mysql数据库的时候没有设置UTF-8字符集,然而后来我发现即使我设置了这个字符集还是不能解决问题,写入mysql的字符串照样乱码。

解决这个问题其实很简单.

1.在建表的时候设置编码类型为gb2312_chinese_ci.

2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如代码如下:

  1. $db_host="localhost";  
  2. $db_user="root";  
  3. $db_password="password";  
  4. $db_name="test"
  5. $link=mysql_connect($db_host,$db_user,$db_password); 
  6. mysql_query("SET NAMES 'gb2312'",$link);  
  7. $db=mysql_select_db($db_name,$link);  
  8. $query="select * from user";  
  9. $result=mysql_query($query); 

写入页面和读取页面都加入这行.这样在MYSQL里面的中文就能正常显示了,另外种办法修改配置文件my.cnf,代码如下:

[mysqld]

default-character-set=utf8

重新启动MYSQL改过 这个改了就是把 character_set_server 设成utf8,好了到这些关于php写入mysql中文乱码问题就解决了,当然我们主要是注意页面与数据库之间的编码然后使用mysql_query()进行设置。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐