溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中的utf8編碼文件怎么使用fopen創(chuàng)建

發(fā)布時間:2020-12-22 16:21:23 來源:億速云 閱讀:235 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹php中的utf8編碼文件怎么使用fopen創(chuàng)建,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

使用PHP創(chuàng)建編碼格式為utf-8文件的方法:

第一步:新建一個txt文件,打開,文件->另存為xxx.php,并將編碼改為UTF-8,保存。

第二部:在php文件中加入如下代碼:

復制代碼 代碼如下:

<?php
$filename=rand(100,999).".txt";//定義好要創(chuàng)建的文件名稱和文件格式(按需要自己改)
$str = "PHP學習網(wǎng)[www.jb51.net]";//待寫入新建文件中的內(nèi)容
if (!$head=fopen($filename, "w+")) {//以讀寫的方式打開文件,將文件指針指向文件頭并將文件大小截為零,如果文件不存在就自動創(chuàng)建
die("嘗試打開文件[".$filename."]失敗!請檢查是否擁有足夠的權(quán)限!創(chuàng)建過程終止!");
}
if (fwrite($head,$str)==false) {//執(zhí)行寫入文件
fclose($head);
die("寫入內(nèi)容失敗!請檢查是否擁有足夠的權(quán)限!寫入過程終止!");
}
echo "成功創(chuàng)建UTF-8格式文件[".$filename."],并向該文件中寫入了內(nèi)容:".$str;
fclose($head);
?>


使用這種方法創(chuàng)建UTF-8編碼文件的關(guān)鍵點:

① 保證PHP代碼文件本身的編碼格式為UTF-8
② php代碼文件的編碼格式是什么則創(chuàng)建出來的文件編碼也是什么
③ 顯示出現(xiàn)亂碼的問題

控制頁面顯示的因素主要有三個:

1.HTML代碼控制:標準HTML網(wǎng)頁文件中的head標簽內(nèi)部包含了這一句代碼<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,代碼中charset=utf-8這句就是告訴瀏覽器要以utf-8格式將網(wǎng)頁中的內(nèi)容顯示出來。

2.PHP代碼控制:如果在PHP文件的開頭加上header("content-Type: text/html; charset=utf-8");這句代碼,也是為了告訴瀏覽器要以utf-8格式將網(wǎng)頁中的內(nèi)容顯示出來。(注:這句代碼之前不能有類似echo的輸出)

3.文件物理存儲屬性控制:用記事本打開一個文件,文件->另存為,你在“編碼”中所看到的就是當前文件的真正的編碼

補充一個fopen例子

復制代碼 代碼如下:

<?php
$f=fopen("test.txt", "wb");
$text=utf8_encode("a!");
 
//先用函數(shù)utf8_encode將所需寫入的數(shù)據(jù)變成UTF編碼格式。
 
$text="\xEF\xBB\xBF".$text;
 
//"\xEF\xBB\xBF",這串字符不可缺少,生成的文件將成為UTF-8格式,否則依然是ANSI格式。
 
fputs($f, $text);
 
//寫入。
 
fclose($f);
?>

這樣創(chuàng)建出的文件編碼格式確實是utf-8,但是放在文件中的漢字出現(xiàn)了亂碼的現(xiàn)象,經(jīng)過一番調(diào)試,代碼如下:

復制代碼 代碼如下:

<?php
$ctxtsubmit="好呀";
$f=fopen("../".$file, "wb");
    //$text=utf8_encode($ctxtsubmit);
    //先用函數(shù)utf8_encode將所需寫入的數(shù)據(jù)變成UTF編碼格式。
    $text="\xEF\xBB\xBF".$ctxtsubmit;
     //"\xEF\xBB\xBF",這串字符不可缺少,生成的文件將成為UTF-8格式,否則依然是ANSI格式。
    fputs($f, $text);
    //寫入。
     fclose($f);
?>

關(guān)于php中的utf8編碼文件怎么使用fopen創(chuàng)建就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI