【发布时间】:2017-01-11 17:40:09
【问题描述】:
我正在尝试使用以下代码回显带有 unicode 字符的 json_response:
function utf8ize($d) {
if (is_array($d)) {
foreach ($d as $k => $v) {
$d[$k] = utf8ize($v);
}
} else if (is_string ($d)) {
return utf8_encode($d);
}
return $d;
}
这样使用:
echo json_encode(utf8ize($response));
问题在于某些字符被正确编码,而其他字符(如ć 和ś)作为问号发送,如下图所示:
我不知道如何解决这个问题。
【问题讨论】:
-
字符串在哪种字符编码中?
-
它们取自我在
utf8_polish_ci中的数据库 -
那你希望
utf8_encode做什么?如果它们已经在 UTF-8 中,utf8_encode只会销毁它们。 Docs -
我补充说,因为没有它,我的 php 脚本不想回显任何内容,我遵循了这里的建议 stackoverflow.com/questions/19361282/…,之后它开始返回显示的输出
-
我建议您改用 fayd 的回答(获得 8 票赞成的回答)。
标签: php json utf-8 echo special-characters