我正在尝试编码一个具有特殊字符的数组,例如ñ。当我这样做时,它返回null。我试图在Zend中使用这个选项:
Zend_Json::$useBuiltinEncoderDecoder = true:
并且它不会返回null但是,例如,在这个字符串中“带有ñ的东西”返回“”带有\ u00f1的东西“
如果我用于json_encode,例如:
<?
$string = "something with ñ";
echo "<pre>";
print_r($string);
$encode_json = json_encode($string) ;
print_r($encode_json);
?>
返回是一样的:
与ñ
有关 如果我使用utf8_enconde(),请将此字符\ u00c3返回ñ。 解决我的问题的一些想法?我需要用ñ保存在数据库中的列表单词,如果我能保存另一个特殊字符就会很棒。
答案 0 :(得分:2)
您可以使用json_encode()函数编码Unicode字符
echo json_encode($yourdata, JSON_UNESCAPED_UNICODE);
注意:这只适用于PHP 5.4以后
答案 1 :(得分:0)
\u00f1
部分很好:它指的是Unicode代码点00F1:“带字母的小字母n。”
解码JSON将解释为与ñ
具有相同意义的东西。