今天用PHP读取的MySQL中的中文内容字段,结果读取出来的居然乱码。
使用下面的语句设置连接编码,结果还是照旧。
$charset = $params['charset']; mysql_query('SET character_set_connection=$charset, character_set_results=$charset, character_set_client=binary', $db);
我确定数据库建立的时候用的是utf8,页面输出编码是utf-8,这些都没有问题。那问题出在哪里呢?调试PHP发现,从数据库读出来的结果就是乱码的,难道是连接有问题?
在网上搜索了一番后,将上面的语句修改:
mysql_query('SET NAMES UTF8', $db);
再次执行,结果居然OK。难道只能用SET NAMES才行吗?
突然间,恍然大悟,原来是执行mysql_query()时使用了单引号,没有解析$charset的缘故。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP读取MySQL中文乱码 - Python技术站