PHPでfopenを使用してutf8エンコードされたファイルを作成する方法
この記事の例では、fopen を使用して PHP で utf8 エンコードされたファイルを作成する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
一般的に、fopen を使用して直接作成すると、ファイルのエンコーディングが uft-8 ではないことがわかります。そのため、uft8 ファイルを作成したい場合は、いくつかの技術的な処理を実行する必要があります。具体的な手順は以下の通りです:
PHP を使用して utf-8 エンコード形式でファイルを作成する方法:
ステップ 1: 新しい txt ファイルを作成して開き、[ファイル] -> [xxx.php として保存] を選択し、エンコードを UTF-8 に変更して保存します。
パート 2: 次のコードを php ファイルに追加します:
コードをコピーします コードは次のとおりです:
$filename=rand(100,999).".txt";//作成するファイル名とファイル形式を定義します(必要に応じて変更します)
$str = "PHP Learning Network [www.jb51.net]";//新しいファイルに書き込まれるコンテンツ
if (!$head=fopen($filename, "w+")) {//ファイルを読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイルが存在しない場合はファイル サイズをゼロにカットします。 、自動的に作成されます
die("ファイル [".$filename."] を開こうとして失敗しました! 十分な権限があるかどうかを確認してください! 作成プロセスは終了しました!");
}
if (fwrite($head,$str)==false) {//ファイルの書き込みを実行
fclose($head);
die("コンテンツの書き込みに失敗しました! 十分な権限があるか確認してください! 書き込みプロセスは終了しました!");
}
echo "UTF-8 形式のファイル [".$filename."] が正常に作成され、内容がファイルに書き込まれました: ".$str;
fclose($head);
?>
この方法を使用して UTF-8 エンコードされたファイルを作成するための重要なポイント:
① PHPコードファイル自体のエンコード形式がUTF-8であることを確認します
②phpコードファイルのエンコード形式と、作成したファイルのエンコードは何ですか
③ディスプレイの文字化け問題
ページの表示を制御する主な要素は 3 つあります:
1.HTML コード コントロール: 標準 HTML Web ページ ファイルの head タグには、このコード が含まれています。コード内の文 charset=utf-8 は、Web ページのコンテンツを UTF-8 形式で表示するようにブラウザーに指示します。
2.PHP コード制御: PHP ファイルの先頭に header("content-Type: text/html; charset=utf-8"); を追加すると、このコードはブラウザにコンテンツをフォーマットするように指示します。 Webページに「」が表示されます。 (注: このコードには以前はエコーのような出力を含めることはできません)
3. ファイルの物理ストレージ属性の制御: メモ帳でファイルを開き、[ファイル] -> [名前を付けて保存] に表示されるのは、現在のファイルの実際のエンコーディングです
fopen の例を追加します
コードをコピーします コードは次のとおりです:
$f=fopen("test.txt", "wb");
$text=utf8_encode("a!");
//まず関数 utf8_encode を使用して、書き込むデータを UTF エンコード形式に変換します。
$text="xEFxBBxBF".$text;
//"xEFxBBxBF"、この文字列は必須です。生成されるファイルは UTF-8 形式になりますが、それ以外の場合は ANSI 形式のままです。
fputs($f, $text);
//書く。
fclose($f);
?>
この方法で作成されたファイルのエンコード形式は確かに UTF-8 ですが、デバッグ後、コードは次のようになります。
コードをコピーします コードは次のとおりです:
$ctxtsubmit="わかりました";
$f=fopen("../".$file, "wb");
//$text=utf8_encode($ctxtsubmit);
//まず関数 utf8_encode を使用して、書き込むデータを UTF エンコード形式に変換します。
$text="xEFxBBxBF".$ctxtsubmit;
//"xEFxBBxBF"、この文字列は必須です。生成されるファイルは UTF-8 形式になりますが、それ以外の場合は ANSI 形式のままです。
fputs($f, $text);
//書く。
fclose($f);
?>