PHP JSON エンコーディング中の不正な UTF-8 文字の修正
はじめに:
JSON はプラットフォームに依存しない方法でデータを送信および保存するための一般的なデータ形式。ただし、UTF-8 以外の文字を含むデータをエンコードしようとすると問題が発生する可能性があります。この説明では、PHP での JSON エンコード中に発生する一般的な問題、特に不正な UTF-8 文字に関連する問題について説明します。
問題:
json_encode($data) を使用してロシア語の文字を含むフィールドを含む配列をエンコードすると、テキスト内の不正な形式の UTF-8 文字によりエラーが発生する可能性があります。 mb_detect_encoding() を使用すると、フィールドが UTF-8 として正しくエンコードされていることがわかります。データに対して utf8_encode を使用しようとすると、エラーは回避されますが、データの整合性が損なわれます。
解決策:
問題は、 -UTF-8 でエンコードされたと思われるテキスト内の UTF-8 文字。これを解決するには、テキストから UTF-8 以外の文字を削除し、エンコードが一貫して保たれるようにします。
次のコードは、この問題に効果的に対処します。
<code class="php">$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');</code>
このコードは、次のように変換します。 $data 配列の 'name' キーの値を UTF-8 エンコーディングに変換し、非 UTF-8 文字を同等の UTF-8 文字で上書きします。結果は、JSON として正常にエンコードできる UTF-8 準拠の文字列です。
以上がPHP での JSON エンコード中に不正な UTF-8 文字を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。