med*_*edk 18 php jquery json htmlspecialchars
我正在使用jQuery,PHP和JSON作为响应来开发依赖选择脚本.
除了使用像法国人这样的特殊字符外,一切顺利(é,è,à......)
如果我像(é,è,à)那样对它们进行预编码(这里我在&符号之间使用空格以防止在我的问题中自动编码)它可以工作,但是当用jquery渲染字符时没有转换成他们应该看起来的样子(é...),而是按原样显示(é)
如果我像(é)那样编写它们并且不对它们进行预编码,则不会显示此数组条目中的完整值.
我该怎么办?
谢谢.
如果我像(é)那样编写它们并且不对它们进行预编码,则不会显示此数组条目中的完整值.
我该怎么办?
在JSON中,您不对HTML进行编码.您按字面意思(é)发送它们并正确设置Content-Type:
header('Content-Type: application/json; Charset=UTF-8');
当然,声明数据所在的编码.
小智 6
就像第一个anwser一样
你使用数据库吗?如果是,请确保声明数据库表UFT8如何声明HTML页面?UTF-8是PHP脚本文件中的字符串?如果是,请确保该文件具有UTF-8文件格式
你也可以使用utf8_encode(发送到HTML)和utf8_decode(接收)但不是正确的方式
这对我有用,希望它对任何遇到类似问题的人都有效.
$title = 'é';
$title = mb_convert_encoding($title, "UTF-8", "HTML-ENTITIES");
header('Content-Type: application/json; Charset="UTF-8"');
echo json_encode(array('title' => $title));
mb_convert_encoding函数接受一个值并将其从(在本例中)HTML-ENTITIES转换为UTF-8.
有关函数的详细信息,请参见此处http://php.net/manual/en/function.mb-convert-encoding.php
| 归档时间: | 
 | 
| 查看次数: | 38546 次 | 
| 最近记录: |