在我的 PHP 网络服务中,我必须返回一些包含带有 JSON 格式重音字母的字符串的数组(我在我的客户端应用程序中使用 JS 解析它们)。
但是该htmlentities
函数将包含重音字母的字符串替换为空字符串!如果我不使用htmlentities
,我会在json_encode
.
$a = array('key' => 'èàìòù');
foreach ($a as $k => $v)
$a[$k] = htmlentities($v, ENT_QUOTES | ENT_HTML5, 'UTF-8');
json_encode($a);
我也尝试了该ENT_COMPAT
选项,但我只得到空值。
请注意,如果我使用print_r
before打印我的数组htmlentities
,则内容没问题。
更多信息:
每个文件都是 UTF-8 w/o BOM 格式(使用 Notepad++ 保存)。我已经尝试添加标题以在我的 PHP 和 HTML 中设置 UTF-8。DB 表为 utf8_unicode_ci 格式。
版本:PHP 5.3.3、MySQL 5.5.30-1。
谢谢您的帮助!