php txt書き込み時の文字化けを解決するには、 1. ファイルエンコーディングを設定する ファイルを書き込む前にファイルエンコーディングをUTF-8に設定できます 2. BOMバイトオーダーマークを出力します文字化けを防ぐためにファイルがどの Unicode エンコード方式を使用しているかを識別するため; 3. fwrite() 関数をオプションとともに使用して、ファイルに書き込まれるデータ長が指定されたデータ長と一致していることを確認します。
このチュートリアルのオペレーティング システム: Windows 10 システム、php8.1.3 バージョン、Dell G3 コンピューター。
php が文字化けした txt 文字を書き込む場合の解決策:
1. ファイルのエンコーディングを設定します
ファイルを書き込む前に、mb_internal_encoding() を呼び出して、 mb_http_output() 関数で、ファイルのエンコードを UTF-8 に設定します。
<?php // 设置内部字符编码为UTF-8 mb_internal_encoding('UTF-8'); // 设置 HTTP 输出字符编码为UTF-8 mb_http_output('UTF-8'); $file = 'data.txt'; $content = '你好世界!'; $handle = fopen($file, 'w'); fwrite($handle, $content); fclose($handle); ?>
2. 出力 BOM バイト オーダー マーク
BOM (バイト オーダー マーク) は、通常 Unicode テキスト ファイルの先頭に表示される特殊なバイト シーケンスです。ファイルがどの Unicode エンコード方式 (ビッグエンディアンまたはリトルエンディアン) を使用しているかを識別するために使用されます。ファイルヘッダにBOMマークがない場合、文字化けする可能性があります。
次のコードを使用して、BOM マークをファイルに出力できます:
<?php $file = 'data.txt'; $content = "\xEF\xBB\xBF" . '你好世界!'; // 在内容前添加BOM标记 $handle = fopen($file, 'w'); fwrite($handle, $content); fclose($handle); ?>
3. fwrite() 関数をオプションとともに使用します
fwrite() この関数は、書き込まれる文字列の長さを示すオプションの 3 番目のパラメーターを受け入れることができます。ファイルに書き込まれるデータの長さが指定された長さと一致しない場合、文字化けが発生します。したがって、このオプションを使用すると、ファイルに書き込まれるデータが指定された長さと同じ長さになるようにすることができます。
rree以上がphpでtxtに書かれた文字化けを解決する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。