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)

原文地址:https://www.cnblogs.com/wangfengzhu/p/8967955.html