前端是这么写的:$.post("./feedback.php",{feedback:"你好"},function(data){alert(data);})
后台是php写的:在feedback.php中,头上有写header("content-type:text/html; charset=utf-8");
$content=$_POST["feedback"];
echo $content;
然后用的是zend studio,也设置成utf-8了。
结果运行起来的时候,
就是这样子的乱码,当我前端json数据中是英文的话,能获取正确,就中文情况下,乱码了,这个问题如何解决。
我这个情况,在php中,我又添了这么一条语句:print_r(iconv_get_encoding());
结果是:
这条语句获取的应该是页面编码,它说我的页面编码是:ISO-8859-1,可是在我的头上有写:
<?php
header("content-type:text/html; charset=utf-8");
我的这个问题到底从哪里改呢?
在输出前加了这条句子:mb_convert_encoding($str, "UTF-8", "GBK");结果还是一样,但是 当我用chrome,设置浏览器编码,设置为自动检测,就可以显示出 中文了。那这是说明我的代码没有问题吗?只要改浏览器编码就可以的了吗?我改浏览器编码的时候,发现它原来是gbk的。那么要是用户的浏览器编码也没有设置好的话,是不是还是会乱码?
本回答被提问者采纳