json字符串传输中文到后台乱码

天之骄子呃 2015-07-26 09:23:51
前台拼接的json字符串(带中文):
var timeName = "{" + '"timeName":[';

var t=document.getElementsByName('time');
var i=0;
for(i=0;i<t.length-1;i++)
{
var time = t[i].value;
timeName+='"'+time+'",'
}

timeName+='"'+t[i].value+'"]}';
// console.log(timeName);

$.post(
action,

{
timeName:timeName,
resName:resName
}

后台收到的字符串var_dump出来是这样的:
string(58) "{"timeName":["1点","2点"]}"

中文后面就乱掉了 这是为什么?
...全文
942 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
昆仑道长 2015-08-12
  • 打赏
  • 举报
回复
如果你是用jQuery传入数据给后台,请确保JavaScript脚本文件保存的编码类型为UTF-8,页面编码meta charset 也为 UTF-8.然后PHP文件保存的文件类型也是UTF-8.这三者一致了,就不会出问题。如果JavaScript文件保存时的编码是gb2312,而你又是用jQuery Ajax传递数据(内部是以UTF-8字符传递)的话,就会发生乱码。还有一种可能上面这个都是好的,但是数据库的编码是GB2312,然后存入数据库忘了编码转换,保存到数据库中的数据也会乱码。
二尸兄 2015-08-10
  • 打赏
  • 举报
回复
先用urlencode 转义一下中文 再json_encode
码无边 2015-07-27
  • 打赏
  • 举报
回复
通过浏览器跟踪下传递的url参数 是否是正确的。
天之骄子呃 2015-07-26
  • 打赏
  • 举报
回复
引用 2 楼 wander_wind 的回复:
确保php脚本文件、html模板文件、html的charset声明编码一致
一致 chrome下preview下乱码 但是response汉字正常
智商众筹 2015-07-26
  • 打赏
  • 举报
回复
确保php脚本文件、html模板文件、html的charset声明编码一致
傲雪星枫 2015-07-26
  • 打赏
  • 举报
回复
你传输的是什么数据?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧