php bom 中国語文字化けコードの解決策: 1. 対応する PHP 開発ファイルを開きます; 2. 「$bom = Pack("C3",239,187,191);$strcsv =$bom.$strcsv;」を追加します。キャンです。
この記事の動作環境: Windows7 システム、PHP7.4 バージョン、DELL G3 コンピューター
こんな場合はどうすればよいですかphp bom has Chinese 文字化け?
PHP 開発における BOM による文字化けの問題
プロジェクトでは、CSV ファイルを PHP で直接ダウンロードする必要があります。ファイルをダウンロードするとエクセルで文字化けが表示されます。したがって、BOM を増やす方法は次のとおりです。
$bom = pack("C3",239,187,191); //bom: xEFxBBxBF $strcsv =$bom.$strcsv;
以下は、インターネットから引用したより簡潔な説明です。
BOM の説明: 「ZERO WIDTH NO-」というコードがあります。 BREAK SPACE" が UCS エンコーディング文字に含まれており、そのエンコーディングは FEFF です。 FEFF は UCS には存在しない文字ですので、実際の送信では出現しないはずです。 UCS 仕様では、バイト ストリームを送信する前に文字「ZERO WIDTH NO-BREAK SPACE」を送信することが推奨されています。このように、受信機が FEFF を受信した場合、バイト ストリームがビッグ エンディアンであることを示し、FFFE を受信した場合、バイト ストリームがリトル エンディアンであることを示します。したがって、「ZERO WIDTH NO-BREAK SPACE」という文字は BOM とも呼ばれます。
UTF-8 では、バイト順序を示すために BOM は必要ありませんが、BOM を使用してエンコード方式を示すことができます。 「ZERO WIDTH NO-BREAK SPACE」という文字の UTF-8 エンコーディングは EF BB BF です。したがって、受信側が EF BB BF で始まるバイト ストリームを受信すると、それが UTF-8 でエンコードされていることを認識します。 Windows は、BOM を使用してテキスト ファイルのエンコーディングをマークします。
PHP は設計時に BOM の問題を考慮しませんでした。つまり、UTF-8 でエンコードされたファイルの先頭にある BOM の 3 文字は無視されません。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphp bomで中国語文字化けが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。