gpt4 book ai didi

PHP:将传入的字符串转换为 UTF-8,没有任何信息它是什么编码

转载 作者:行者123 更新时间:2023-12-04 06:27:22 25 4
gpt4 key购买 nike

我有问题。

我有一个 REST API,它使用 json_encode 将数据输出为 JSON。但是,有时数据会被推送到非 UTF-8 数据的 API。所以当试图输出这些数据时,json_encode 会抛出异常,因为它只能处理 UTF-8 数据。

我该怎么办?我可以以某种方式强制每个传入的数据都是 UTF8 吗?这似乎很难,因为我不知道发送数据的编码方式。

或者我应该尝试对传入的数据运行 json_encode 并且如果它无法编码返回错误?

编辑:我忘了提到这是一个 REST API。所以我收到了对我的 API 的 POST 请求,其中包含许多字段和值。

最佳答案

您也许可以使用 mb_detect_encoding() 来猜测您得到的字符编码,但是猜测字符编码所涉及的启发式方法的可靠性不到 100%,因此它可能仍然无法正常工作,更糟糕的是,您可能会破坏一个字符串有效。

如果 JSON 源正在发送内容类型 header ,则它还应包括(预期的)字符编码。

   Content-Type: application/json; charset=ISO-8859-4

如果此信息准确,那么您可以使用它来进行转码。

关于PHP:将传入的字符串转换为 UTF-8,没有任何信息它是什么编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com