繁体   English   中英

JSON在PHP中编码和解码UTF8字符

[英]JSON Encoding and decoding of UTF8 characters in PHP

使用json_encode / json_decode对utf8字符串进行解码/编码时,我没有收到原始编码中的字符串...

$test = '{"c":"limón"}';

echo $test;                           //=> {"c":"limón"}    
echo json_decode($test)->{"c"};       //=> limón
echo json_encode(json_decode($test)); //=> {"c":"lim\u00f3n"}

如何将字符串编码回原始编码(utf8)?

json_encode的默认行为是转义所有Unicode字符。 如果您的PHP版本为5.4.0或更高版本,则可以将JSON_UNESCAPED_UNICODE作为json_encode的第二个参数传递,以获得您期望的行为。 在早期版本中有许多hacks可以获得此行为,包括预处理对象以将Unicode字符编码为HTML实体 ,然后反转转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM