ホームページ >バックエンド開発 >PHPチュートリアル >PHP JSON エンコーディングで不正な UTF-8 文字を処理するにはどうすればよいですか?

PHP JSON エンコーディングで不正な UTF-8 文字を処理するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-19 08:05:30220ブラウズ

How to Handle Malformed UTF-8 Characters in PHP JSON Encoding?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。