參考了網路上的文章,有一篇寫說只要PHP是用Big5編碼寫的程式,就可以產生Big5的txt檔案,但是我測試的時候仍然是UTF-8格式,請問大神,有沒有範例可以指導呢?
我的程式碼
現在加上了轉換的函數,可以轉成ANSI,但是還是無法轉成BIG5
2021/09/13
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TXT</title>
</head>
<body>
<?php
//要建立的兩個檔案
$TxtFileName = "Demo.txt";
//以讀寫方式打寫指定檔案,如果檔案不存則建立
if( ($TxtRes=fopen ($TxtFileName,"w ")) === FALSE){
echo("建立可寫檔案:".$TxtFileName."失敗<br />");
exit();
}
echo ("建立可寫檔案".$TxtFileName."成功!<br />");
$StrConents = "中文測試";//要 寫進檔案的內容
$StrConents = mb_convert_encoding( $StrConents,'BIG5', 'UTF-8');
if(!fwrite ($TxtRes,$StrConents)){ //將資訊寫入檔案
echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."失敗!<br />");
fclose($TxtRes);
exit();
}
echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."成功!<br />");
fclose ($TxtRes); //關閉指標
?>
</body>
</html>
試試看fwrite($fh, iconv(‘UTF-8’, ‘BIG5//IGNORE’, $line));
資料來源
執行失敗,頁面完全沒有反應
if(!fwrite ($TxtRes, iconv('UTF-8', 'BIG5//IGNORE', $StrConents))){ //將資訊寫入檔案
echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."失敗!");
fclose($TxtRes);
exit();
}
請搜尋:php 顯示所有錯誤
1. 設定PHP為BIG5
PHP要設為big5請用ini_set('default_charset', 'Big5');
<meta charset="Big5">
是設給HTML的
另外,非常不建議改PHP的編碼,很容易造成問題
2. CODE
<?php
//要建立的兩個檔案
$TxtFileName = "Demo.txt";
//以讀寫方式打寫指定檔案,如果檔案不存則建立
if( ($TxtRes=fopen ($TxtFileName,"w ")) === FALSE){
echo("建立可寫檔案:".$TxtFileName."失敗");
exit();
}
echo ("建立可寫檔案".$TxtFileName."成功!</br>");
$StrConents = "Welcome To ItCodeWorld!中文";//要 寫進檔案的內容
if(!fwrite ($TxtRes,mb_convert_encoding($StrConents, 'big5', 'utf8'))){ //將資訊寫入檔案
echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."失敗!");
fclose($TxtRes);
exit();
}
echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."成功!");
fclose ($TxtRes); //關閉指標
?>
這讓我想到多年前的許蓋功測試