PHP读MYSQL中文乱码原因最常见的就是页面编码与程序编码不一致造成了,例如,你数据库是utf8然后页面是gbk这样要数据库查询时不作处理就会出现中文乱码了,要解决也很简单我们只要使用mysql(set names charset)就可以解决了.
最后还是用常见的方法:mysql_query中的”set names charset”,解决了,其中有一点要特别注意:PHP中设置使用“utf8”,而不是“utf-8”,就这样问题解决了
后来查资料发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,强制设置一下数据库编码即可解决MYSQL中文乱码的问题,代码如下:
解决方法是在成功连接数据库之后,发送一句查询语句,代码如下:
- $this->LinkID = mysql_connect($this->Host, $this->User, $this->Password);
- mysql_query('SET NAMES 'utf8'', $this->LinkID);
-
- DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
- mysql_query("SET NAMES 'utf8'", LINK);
-
- $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
- mysql_query("SET NAMES 'GBK'");
|