[英]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.