【发布时间】:2012-10-23 20:59:28
【问题描述】:
起初我认为问题是当我从 ajax 调用返回 echo json_encode($row) 时,结果 ñ 更改为 NULL。但是经过测试我发现问题在此之前就存在了。
在一个示例 php 文件中:
$test = "Nuñez"
echo $test
结果只是 Nu�ez
我已经四处搜索,但建议的解决方案都不起作用。喜欢:
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');
或<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,或header('content-type: text/html; charset: utf-8');。还有一些我已经忘记的解决方案,相信我我尝试了很多。
这只是开始,我希望 mysql 不会有问题,因为我的数据库是 utf-8 格式,我的 $mysqli 字符集也是如此。但我想我不能对 ajax json_encode 说同样的话。但没关系,一次一个问题。任何人都可以帮助我。非常感谢!
问题已解决我只需要在 Notepad++ 中设置“UTF-8 编码”,就像之前的“ANSI 编码”一样。
【问题讨论】:
-
你确定这个字符串首先是UTF-8,在发送之前和发送之后所有的标头都是UTF-8吗?
-
我该怎么做?我的代码中有
header('content-type: text/html; charset: utf-8');,还有什么我应该添加的吗?
标签: php utf-8 header special-characters json