我正在使用 json_encode($data)
到一个数据数组,并且有一个包含俄语字符的字段。
我用这个 mb_detect_encoding()
来显示该字段的编码,并显示UTF-8。
我认为 json 编码失败是因为其中的一些坏字符,比如“ра▒”。我在数据上尝试了很多东西 utf8_encode
,它会绕过那个错误,但是数据看起来不再正确了。
这个问题可以做些什么?
原文由 sparkmix 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 json_encode($data)
到一个数据数组,并且有一个包含俄语字符的字段。
我用这个 mb_detect_encoding()
来显示该字段的编码,并显示UTF-8。
我认为 json 编码失败是因为其中的一些坏字符,比如“ра▒”。我在数据上尝试了很多东西 utf8_encode
,它会绕过那个错误,但是数据看起来不再正确了。
这个问题可以做些什么?
原文由 sparkmix 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答2.2k 阅读
2 回答2.5k 阅读✓ 已解决
1 回答533 阅读✓ 已解决
例如,如果您的数据在数据库中编码良好,请确保在 jsonencode 之前使用 mb * 函数进行字符串处理。 substr 或 strlen 之类的函数不能很好地与 utf8mb4 配合使用,并且可能会剪切文本并留下格式错误的 UTF8