配置:网页,JavaScript和响应的php都采用GB2312编码
问题:通过XMLHttpRequest采用POST模式向服务器端的php脚本发送异步请求,结果反馈的时候,php脚本中本身的中文字符可以正常显示,从客户端发送过去的中文字符再反馈回来之后则不能正常显示,而变成了乱码
问题成因:通过ajax传输时,是以UTF-8传送的,客户端本身的GB2312中文字符通过UTF-8传送,php脚本把这些中文字符自动作为UTF-8解码,于是变成乱码
解决方法:在PHP脚本端,对传送过去的数据重新编码,作为GB2312识别
Eg:
$name = $_POST['name'];//获取POST发送的数据
$name = iconv('utf-8', 'gb2312', $name);//将UTF-8编码转成GB2312
订阅:
博文评论 (Atom)
0 评论:
发表评论