ajax 提交 数据格式一个为 utf8 后台gbk格式文件接收乱码
前提:系统项目是gbk格式的。
做一个异步功能,使用 ajax 进行异步提交,并在ajax中设置了 contentType:"application/x-www-form-urlencoded; charset=gb2312" 后,在后台接收到的数据一直都是乱码,一头雾水,各种百度,进行各种转码,试了好久,一直都不行。
分析问题:
1、通过 firebug 看到 ajax提交的格式仍然是 urf-8, 因而后台接收到的数据应该就是utf8格式的
2、在后台一直日志中记录数据发现一直是乱码(在gbk格式的文件中,查看utf8 的数据,会乱码)
解决:
将接收到的数据先转成 gbk格式,然后再进行后续的一系列操作,此时数据全部正常了
php 实现转换 iconv('UTF-8', 'GB2312', $str) (utf8 转为 gbk)