我遇到了json_encode的问题。我得到了
$('#list li:eq(2)').addClass('myClass');
然后我在php.ini中设置了magic_quotes_gpc = 0(之前是1)并且它停止显示json_encode错误。
现在,我又开始遇到同样的错误了。 php.ini中magic_quotes_gpc为0。我使用的是PHP 5.3
我发现很多答案都说将其转换为UTF-8。但我无法做到,因为我在许多地方使用json_encode并且无法改变所有。
我想解决root问题,这样我就不需要更改json_encode代码了。
在MySQL中,
的结果 $(document).ready(function(){
$('.your-class').slick({
infinite: true
});
});
是
PHP Warning: json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument in /var/www/html/web/example.php on line 500
json_encode错误的原因是什么?
我正在使用zend服务器,我在zend服务器日志中看到这个json_encode错误。
我注意到的另一件事是,即使我在服务器日志中看到错误,它也正确地将数组转换为json。
将数组转换为json时没有错误。那为什么我在zend服务器上看到错误?
答案 0 :(得分:1)
尝试在连接参数后添加以下说明:
mysql_set_charset('utf8');
结果值为:
mb_convert_encoding($result,'UTF-8','UTF-8');
答案 1 :(得分:1)
json_encode()
需要有效的UTF-8数据作为输入。
您正在向它提供无效数据。
根据您的描述,您可能从数据库连接中获取latin1
数据,这会导致json_encode()
窒息。
将脚本中的数据库连接设置为UTF-8。如何做到这取决于您使用的数据库库。
以下列出了在最常见的库中切换到UTF-8的方法: UTF-8 all the way through