㈠ php 讀取 gbk txt文檔, utf8 輸出亂碼
首先要保證整個php文件是utf-8的格式
//最好寫上去,因為這也可能是頁面沒有設置字元集
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
//獲得字元串之後馬上把字元串轉成另一種編碼
$content = file_get_contents("800.txt");
$content = mb_convert_encoding($content, 'utf-8', 'gbk');
㈡ PHP用file_put_contents修改txt文本里數據,修改後裡面數據怎麼是亂碼的怎麼解決
可能編碼沒有設置對,改成utf8或者gbk試試。
㈢ php讀取txt文本輸出時亂碼如何解決
$text = file_get_contents($filePath);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
$encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
$encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
$encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-16LE';
//下面的判斷主要還是判斷ANSI編碼的·
if ($encodType == '') {//即默認創建的txt文本-ANSI編碼的
$content = iconv("GBK", "UTF-8", $text);
} else if ($encodType == 'UTF-8 BOM') {//本來就是UTF-8不用轉換
$content = $text;
} else {//其他的格式都轉化為UTF-8就可以了
$content = iconv($encodType, "UTF-8", $text);
}
㈣ PHP文件亂碼,怎麼回事
首先需要安裝一下ConvertToUTF8,然後按照以下步驟操作就不會有亂碼了。
1、調用ctrl+shift+p,輸入:install package回車。
2、在稍後彈出的安裝包框中搜索:ConvertToUTF8點擊安裝,重裝打開文件就不會有亂碼了。
㈤ php讀文本文件讀出來的內容是亂碼怎麼辦
看看你PHP文件是什麼編碼,然後用記事本打你的PHP文件,另存為
選擇編碼類型覆蓋。
或者用把讀出來的字元串轉碼。
㈥ PHP寫入到文本文件亂碼
php處理中文編碼老是有問題,這是編碼的問題,可以將txt文件另存為UTF-8的編碼再處理;
參考如下:
functionfile_utf8($filepath){
$f_contents=file_get_contents($filepath);
$encoding=mb_detect_encoding($f_contents,array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII'));
$content_u="";
$handle=fopen($filepath,"r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle);
if($encoding!=false){
if(mb_detect_encoding($buffer)!='UTF-8'){
$buffer=iconv($encoding,'UTF-8',$buffer);
}
}else{
$buffer=mb_convert_encoding($buffer,'UTF-8','Unicode');
}
$content_u.=$buffer;
}
fclose($handle);
return$info=array('status'=>1,'message'=>$content_u);
}else{
return$info=array('status'=>0,'message'=>'打開文件失敗');
}
}
㈦ php格式文件用記事本TXT修改內容會亂碼要怎麼修改才不會
用記事本修改PHP文件,保存的時候要注意,一面文件頭部會出現bom信息;
修改完文件,點擊文件,選擇另存為;
保存類型選擇:所有文件(*.*);編碼選擇:utf-8。
然後點擊保存即可。
㈧ PHP生成TXT文件時亂碼
編碼問題
把 $time 的編碼轉換一下
即 把 $time=nowtime(); 改成 $time=iconv('utf-8','gbk', nowtime());
㈨ php寫入txt檔案出現亂碼
那是腳本編碼的問題
推薦用工具打開
Editplus或 Adobe Dreamweaver之類的.
在裡面可以設置編碼.
一般我們都用utf8.不推薦用gbk.早晚都要與utf8接軌的.何必呢???要從早養成習慣.
iconv是一個轉換編碼的語句,可以在手冊里查詢到.
header('Content-Type: text/html; charset=utf8');
是頭信息,必須放在腳本開頭.
foreach ($gb as $guestbook) { echo stripslashes($guestbook); }
break;
case 1:
你這個...語法不對.
break是中斷,中斷了哪裡???
下面的case沒有switch,你怎麼用的?
㈩ PHP讀取文件亂碼問題
1.fgetc($fp) 取得是單位元組的,中文可能的根據編碼可能有2 3 4位元組,所以不管怎麼輸出肯定都會是亂碼。
解決方法
1.修改php文件的編碼為utf-8, 只有這樣保存到test.txt文件里的文件才會是utf-8 大部分中文就都是按照3個位元組
2.$fp=fopen($filename,"r");
while(($char=fread($fp,3))!==''){
printf("%d.%s",ftell($fp)/3,$char);
}