日期:2014-05-17  浏览次数:20778 次

php,ajax,mysql,latin1编码问题
mysql默认latin1编码,用ajax读数据时读到乱码,在server端的ajax.php里,有这两个地方涉及到了编码:

a.header( 'Content-type:   text/xml;charset=utf-8 ');
b.查询时,加上了mysql_query( "set   names   'UTF8 ' ");

另外,ajax.php本身也是utf-8编码的。

能够查询出记录,但是查看XML源代码,却是这样的内容:
²èµê×ÓÕý½ÖÅɳöËù

尝试了很多种编码转换,都失败了,请各位达人帮帮我啦!!!!!

------解决方案--------------------
xml 也加上utf8编码试试
------解决方案--------------------
mysql默认latin1编码 改utf-8
客户端html用utf-8
传到的时候不管是虾米样的,只要在客户端能够正常显示就OK的啦
------解决方案--------------------
多字节字符不要用LATIN1。建议用UTF8或者GBK
------解决方案--------------------
最好统一编码格式~~
------解决方案--------------------
用iconv()统一编码不行吗;
------解决方案--------------------
b.查询时,加上了mysql_query( "set names 'UTF8 ' ");

应该是mysql_query( "set names 'UTF-8 ' ");吧.

ajax.php输出XML用iconv()转下码.

$xml = "即将输出的xml数据 ";

echo iconv( "latin1 ", "utf-8 ",$xml);