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

前端之家收集整理的这篇文章主要介绍了php写入mysql中文乱码问题解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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()进行设置。

猜你在找的PHP相关文章