ajax架构,后台使用php访问mysql数据库,然后将访问结果封装成xml格式传给前台。xml采用utf-8格式,mysql数据库中有汉字,但是php中查询数据库返回的xml中汉字变成了??,单独查询mysql数据库能够正确返回汉字,因此判断应该是xml的编码和mysql的编码不同。
解决方法,将mysql的编码改为utf-8。
在php程序中,在访问数据库表之前加入以下代码:
mysql_query("set names utf8");
注意了,这里是uft8,而不是utf-8,我试过utf-8不行,加入之后,问题解决。