json_encode()抛出错误:"参数"中的UTF-8序列无效;

时间:2015-05-21 02:41:40

标签: php json utf-8

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument</p>
<p>Filename: controllers/share.php</p>
<p>Line Number: 130</p>

之前曾经工作过,版本为php 5 [我认为是最新的主要PHP版本]。

1 个答案:

答案 0 :(得分:4)

json_encode仅允许UTF-8个字符进行编码。您尝试编码的数据看起来可能包含非UTF-8个字符。

因此,您应首先将字符串/数据转换为UTF-8然后进行编码。

mb_convert_encoding($string,'UTF-8','UTF-8');
json_encode($string);