この記事では、phpがテキストエンコーディングを自動的に識別し、ターゲットエンコーディングに変換する方法について説明します。皆さんの参考に共有してください。詳細は以下の通りです
PHPがページを処理する際、iconvやmb_convertなどの関数を使って文字セットを変換しますが、これには実は前提があります。つまり、正しい変換を実行するには、入力および出力のエンコードが何であるかを事前に知っておく必要があります。
ほとんどの変換は gbk と utf-8 の間で行われますが、変換オブジェクトのエンコーディングがわからない場合はどうすればよいでしょうか? Google は、UTF8 と GBK のエンコーディングを簡単に識別できる関数safeEncoding を考案しました。この関数はある程度正確ですが、より複雑な環境で使用するのはそれほど簡単ではありません。以下では、GBK と UTF-8 エンコードの違いを組み合わせ、正規表現を使用して UTF-8 エンコードを決定し、mb_convert_encoding を使用します。中国では最も一般的なエンコーディングは GBK と UTF-8 であるため、この関数はこれら 2 つのエンコーディングを自動的に変換します。
リーリーこの記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。