我收到来自 Web 服务的响应,这些值是 ISO-8859-1 编码的。提供的库将响应转换为数组,我json_encode
用来序列化响应并将其存储在数据库中。它是一个 MySQL 数据库,InnoDB 引擎,具有 UTF8 字符集。
我的日志中的这个警告揭示了编码问题:
PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in...
我知道数组键值没问题,因为它们总是相同的,而且我没有看到每个请求的警告。
array_map
使用withutf8_encode
来消除警告有什么缺点吗?
json_encode(array_map('utf8_encode', $response))