Seb*_*b83 4 php mysql json utf-8 ios
我一直在寻找约3个小时,我知道有很多问题已经被问到这个问题了,但我没有找到任何解决方案,当我尝试输出重音字符时,我的问题对我有用我的数据库上的SELECT查询的结果.
$itemsList = array();
while($row = mysql_fetch_assoc($res)){
$itemsList[Items][] = ($row);
}
echo json_encode($itemsList);
Run Code Online (Sandbox Code Playgroud)
这将输出:
{"Items": [
{"user_name":"misterP",
"comment":"\u00c3\u00a9t\u00c3\u00a9",
"image_name":"403885300736874.jpg"}]}
Run Code Online (Sandbox Code Playgroud)
但是我需要输出重音符号,如下所示:
{"Items": [
{"user_name":"misterP",
"comment":"été",
"image_name":"403885300736874.jpg"}]}
Run Code Online (Sandbox Code Playgroud)
所以我真的不知道现在该做什么,我真的很难受口音,我无法让它发挥作用.提前致谢 !
这并不重要.当json被解码时,它们再次成为字符.
如果你使用php 5.4> =,你可以传递JSON_UNESCAPED_UNICODE给json_encode:
json_encode( $data, JSON_UNESCAPED_UNICODE )
Run Code Online (Sandbox Code Playgroud)
但同样,unicode也可以逃脱工作并使数据ascii安全.
编辑:
看起来你的数据已经被搞砸了,甚至以前json_encode.你似乎已经将它"双重编码"为utf-8.
插入我数据库的数据是utf8_encoded
你在用类似的东西utf8_encode吗?插入数据库时,无需在代码中执行任何操作.如果您使用数据插入数据库utf8_encode,则说明双重编码.您只需要将数据设置为utf-8并mysql_set_charset( 'utf8' )在插入之前使用.
有趣的是,如果你的json有未转义的unicode,即使json包含或者你添加括号,json 也不能作为javascript执行.U+2028U+2029
| 归档时间: |
|
| 查看次数: |
8879 次 |
| 最近记录: |