PHP json 编码 - 格式错误的 UTF-8 字符,可能编码不正确

新手上路,请多包涵

我正在使用 json_encode($data) 到一个数据数组,并且有一个包含俄语字符的字段。

我用这个 mb_detect_encoding() 来显示该字段的编码,并显示UTF-8。

我认为 json 编码失败是因为其中的一些坏字符,比如“ра▒”。我在数据上尝试了很多东西 utf8_encode ,它会绕过那个错误,但是数据看起来不再正确了。

这个问题可以做些什么?

原文由 sparkmix 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 534
1 个回答

例如,如果您的数据在数据库中编码良好,请确保在 jsonencode 之前使用 mb * 函数进行字符串处理。 substr 或 strlen 之类的函数不能很好地与 utf8mb4 配合使用,并且可能会剪切文本并留下格式错误的 UTF8

原文由 Rafa Rodríguez 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题