ホームページ > バックエンド開発 > PHPチュートリアル > file_get_contents() 使用時の UTF-8 文字破損を修正するにはどうすればよいですか?

file_get_contents() 使用時の UTF-8 文字破損を修正するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-04 16:19:16
オリジナル
177 人が閲覧しました

How Can I Fix UTF-8 Character Corruption When Using file_get_contents()?

file_get_contents() UTF-8 文字の破損: 解決策

file_get_contents() を使用して UTF-8 エンコードで HTML コンテンツを取得する場合、ľ、š、č、などの特殊文字を使用すると問題が発生する可能性があります。 ž は正しくレンダリングされません。その結果、Å、¾、¤ などの意味不明な文字が代わりに表示されます。

問題は、file_get_contents() で使用されるデフォルトのエンコーディング内にあります。これを解決するには、関数呼び出しで目的のエンコーディングを明示的に指定します。ただし、取得した HTML をファイルに保存し、UTF-8 エンコードで印刷することも効果がないことが判明し、壊れたデータがソース自体から取得されたことを示しています。

成功していることが証明されている解決策は、マルチ- 取得した HTML 文字列のバイト変換。関係する手順は次のとおりです。

  1. mb_detect_encoding($html, 'UTF-8', true) を使用して HTML 文字列の現在のエンコーディングを検出します。
  2. 文字列を UTF に変換します。 8 mb_convert_encoding($html, 'UTF-8', mb_detect_encoding($html, 'UTF-8', true)).
  3. 最後に、mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8') を使用して UTF-8 文字列を HTML エンティティに変換します。

これらの手順を実行すると、取得した HTML 文字列が適切に変換され、UTF-8 文字が表示されるようになります。正しく。

以上がfile_get_contents() 使用時の UTF-8 文字破損を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート