字符编码php-javascript
我得到了一个管理数据库中实体的php文件。我要做的是从数据库中检索一组字符串,并通过json_encode将其返回给javascript函数 问题在于,当php脚本检索到这些值时,重音字符会显示得很好 当我这样输出它时:字符编码php-javascript,javascript,php,json,utf,Javascript,Php,Json,Utf,我得到了一个管理数据库中实体的php文件。我要做的是从数据库中检索一组字符串,并通过json_encode将其返回给javascript函数 问题在于,当php脚本检索到这些值时,重音字符会显示得很好 当我这样输出它时: echo "<pre>"; print_r($row); echo "</pre>"; 但是,当我想通过json_encode将数据返回到ajax调用时,我得到以下结果: function encode_items(&$item, $key)
echo "<pre>";
print_r($row);
echo "</pre>";
但是,当我想通过json_encode将数据返回到ajax调用时,我得到以下结果:
function encode_items(&$item, $key)
{
$item = utf8_encode($item);
}
array_walk_recursive($stack, 'encode_items');
echo json_encode($stack);
在json_编码中输出数据之前,我要做的是:
echo json_encode($stack, JSON_UNESCAPED_UNICODE);
有没有关于如何正确编纂的想法??我曾经说过,如果在我的PHP echo中正确地显示它,那么在我的javascript ajax调用中它会显示得很好,对吗
谢谢您正在为以下内容寻找
JSON\u UNESCAPED\u UNICODE
:
JSON\u UNESCAPED\u UNICODE
(整数)对多字节Unicode字符进行逐字编码(默认值为转义为\uxxx)。 从PHP5.4.0开始提供
与
$stack
输入数组无关。顺便说一句,这些转义值是有效的JSON,没有必要避免它们。如果您不使用Unicode编码发送HTML,它们甚至会让您的生活更轻松。JSON结果没有问题
在PHP5.4之后,如果需要,可以使用的选项
我看不出JSON输出有什么问题?您的
JSON
编码正确,因为需要在JSON
字符串中对特殊字符进行编码。如果使用jQuery
html()
函数进行输出,则特殊字符将正确编码为其html等价物。例如:$(“#container”).html(json_字符串)
应该使用echo htmlspecialchars(print_r($row,true))代码>btwFine,我将结果打印为html内容,它可以很好地显示重音字符。谢谢你是的!比你领先5秒:-)
function encode_items(&$item, $key)
{
$item = utf8_encode($item);
}
array_walk_recursive($stack, 'encode_items');
echo json_encode($stack);
echo json_encode($stack, JSON_UNESCAPED_UNICODE);