PHP JSON エンコーディングでの不正な UTF-8 文字の処理
json_encode() を使用してロシア語の文字を含む配列をシリアル化すると、次のような問題が発生する可能性があります。不正な UTF-8 文字に関連するエラー。この問題を解決するには、次の手順を実行します。
ステップ 1: 文字エンコーディングを特定する
mb_detect_encoding() を使用して、ロシア語の文字を含むフィールドのエンコーディングを確認します。例で報告されているように、実際に UTF-8 であることを確認します。
ステップ 2: 非 UTF-8 文字を削除する
フィールドは主にエンコードされている可能性がありますが、 UTF-8 では、UTF-8 以外の文字が含まれる可能性があります。これらを削除するには、mb_convert_encoding() 関数を使用します。
$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');
このアクションは、非 UTF-8 文字を同等のプレースホルダー表現に置き換え、文字列が JSON エンコーディングに対して有効なままであることを保証します。
ステップ 3: JSON エンコーディングでシリアル化します。
非 UTF-8 文字が削除されると、json_encode() を使用してデータを正常にシリアル化できます。結果として得られる JSON は有効であり、ロシア語文字の正しい表現が含まれています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3