【问题标题】:json_encode(): Invalid UTF-8 sequence in argument (php)json_encode():参数中的无效 UTF-8 序列 (php)
【发布时间】:2014-05-22 12:45:06
【问题描述】:

我有玩家姓名列表。但问题是播放器名称包含一些非 utf-8 字符。所以我有以下错误。

json_encode(): Invalid UTF-8 sequence in argument

我已经使用以下代码来克服它,但它没有工作。

utf8_encode($player->name);

和

$player_name = iconv(mb_detect_encoding($player->name, mb_detect_order(), true), "UTF-8", $player->name);

提前致谢。

【问题讨论】:

  • 你能举一个出现错误的玩家名字吗?
  • 这是在本地电脑上工作的 json。 &它似乎没有问题。但是在直播服务器上我们遇到了这个问题。{ "player_id" : 125, "player_name" : "J\u00c3\u0083\u00c2\u00balio C\u00c3...", "player_country" : "35", "player_country_name" :“巴西”、“player_team”:“巴西”、“player_role”:“守门员”、“player_price”:0、“替补”:0、“队长”:1、“副队长”:0 }
  • 当它在浏览器上呈现时,它会显示 Júlio CÃ
  • 是的,我看到了。看来确实坏了。也许这个库可以帮助你github.com/neitanod/forceutf8 也可以在这里查看stackoverflow.com/questions/1344692/…

标签: php json utf-8


【解决方案1】:

刚刚遇到同样的问题,并且能够通过使用 mb_convert_encoding() 强制 UFT-8 来解决它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多