PHP JSON エンコーディングでの不正な UTF-8 文字の処理
json_encode() を使用してロシア語の文字を含む配列をシリアル化する場合、次のような問題が発生する可能性があります。不正な UTF-8 文字に関連するエラー。この問題を解決するには、次の手順を実行します。
ステップ 1: 文字エンコーディングを特定する
mb_detect_encoding() を使用して、ロシア語の文字を含むフィールドのエンコーディングを特定します。例で報告されているように、実際に UTF-8 であることを確認します。
ステップ 2: 非 UTF-8 文字を削除する
フィールドは主にエンコードされている可能性がありますが、 UTF-8 では、UTF-8 以外の文字が含まれる可能性があります。これらを削除するには、mb_convert_encoding() 関数を使用します。
<code class="php">$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');</code>
このアクションにより、非 UTF-8 文字が同等のプレースホルダー表現に置き換えられ、文字列が JSON エンコードに対して有効なままであることが保証されます。
ステップ 3: JSON エンコーディングを使用してシリアル化する
非 UTF-8 文字が削除されたら、json_encode() を使用してデータを正常にシリアル化できます。結果の JSON は有効になり、ロシア語文字の正しい表現が含まれます。
以上がPHP JSON エンコーディングで不正な UTF-8 文字を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。