将日语字符转换为用于php json_编码的UTF-8
我的(UTF-8编码)数据库中有一个日语字符串'利用規約' 它被传递到php的json_encode函数并收到以下警告: PHP警告:json_encode():参数中的UTF-8序列无效 有没有办法将其转换为有效的UTF-8以避免这种情况?如果db是utf-8,为什么php会有字符串问题 更新:将日语字符转换为用于php json_编码的UTF-8,php,utf-8,json,Php,Utf 8,Json,我的(UTF-8编码)数据库中有一个日语字符串'利用規約' 它被传递到php的json_encode函数并收到以下警告: PHP警告:json_encode():参数中的UTF-8序列无效 有没有办法将其转换为有效的UTF-8以避免这种情况?如果db是utf-8,为什么php会有字符串问题 更新: 事实证明,该错误实际上是由于几行之前的sprintf和多字节字符问题造成的。utf8\u编码应该适合您 如果utf8_编码不起作用,请尝试mb_convert_编码: mb_convert_enco
事实证明,该错误实际上是由于几行之前的sprintf和多字节字符问题造成的。utf8\u编码应该适合您 如果utf8_编码不起作用,请尝试mb_convert_编码:
mb_convert_encoding($string,"UTF-8","auto");
utf8_编码应该适合您 如果utf8_编码不起作用,请尝试mb_convert_编码:
mb_convert_encoding($string,"UTF-8","auto");
utf8_编码仅适用于ISO-8859-1(参见此处的语言范围)
您应该尝试mb_convert_encoding()
:)utf8\u编码仅适用于ISO-8859-1(请参见此处的语言介绍)
您应该尝试mb_convert_encoding()
:)我已经试过了。有趣的是,在我运行OS X PHP5.3.20的笔记本电脑上,该函数返回相同的字符串'利用規約'. 在所讨论的服务器(PHP5.3.10)上,我甚至无法将该字符串粘贴到一个交互式php会话中。不过我可以将它粘贴到bashshell中。这可能是php版本或配置问题吗?我接受这个答案,因为尽管它没有解决我的问题,但事实上,它是正确的和相关的。我已经尝试过了。有趣的是,在我运行OS X PHP5.3.20的笔记本电脑上,该函数返回相同的字符串'利用規約'. 在所讨论的服务器(PHP5.3.10)上,我甚至无法将该字符串粘贴到一个交互式php会话中。不过我可以将它粘贴到bashshell中。这可能是php版本或配置问题吗?我接受这个答案,因为尽管它没有解决我的问题,但事实上它是正确的和相关的。您确定您使用utf-8在查询和结果之间传输字符串吗,使用
设置名称utf8
?您确定使用utf-8在查询和结果之间传输字符串吗,使用设置名称utf8
?我不同意,从您的问题来看,我认为这与编码非配置有关,也同意Devon的意见,Devon的回答中提到了这一点,您接受了该回答。因此,即使我的回答不准确,也是相关的。对不起,你是对的。如果您稍微编辑您的答案(由于系统要求),我可以删除否决票。我不同意,从您的问题中,我认为这与编码非配置有关,并且也同意Devon的意见,Devon在回答中提到了这一点,您接受了这一点作为您的答案。因此,即使我的回答不准确,也是相关的。对不起,你是对的。如果您稍微编辑您的答案(由于系统要求),我可以删除否决票。