Web サービスから応答を受け取りましたが、値は ISO-8859-1 でエンコードされています。提供されたライブラリは応答を配列に変換し、応答をjson_encode
シリアル化してデータベースに保存するために使用しています。これは、UTF8 文字セットを備えた MySQL データベース、InnoDB エンジンです。
エンコーディングの問題は、ログの次の警告によって明らかになりました。
PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in...
配列キーの値は常に同じであり、すべての要求に対して警告が表示されるわけではないため、問題がないことはわかっています。
警告を取り除くためにarray_map
withを使用することの欠点はありますか?utf8_encode
json_encode(array_map('utf8_encode', $response))