我一直在研究一個PHP程序,最後導出一個HTML文件。我遇到了一個問題,其中有時法文字符沒有正確寫入文件(這不是網頁的問題,我用記事本打開文件,字符只是改變了)。PHP - fwrite()/ fputs()有時候弄錯了重音字符
這裏是一段代碼,我已經寫:
foreach($footer as $a){
echo $a;
fwrite($file, $a."\r\n");
}
回波顯示以下內容:
恩CAS德發散恩特雷里奧斯樂本文件和les文件 contractuels officiels,CES derniers ontpréséance。
但什麼是寫入到文件是:
恩CAS德發散恩特雷里奧斯樂PRA©發送文檔等文件的LES contractuels officiels,CES derniers ONT PRA©SA©ANCE。
在我的代碼中,有幾行代碼我用其他法語字符導出行,它們工作得很好(它基本上是完全相同的代碼),但這裏不是。我試過使用fputs(),改變fopen($ file,'w')fopen($ file,'wb'),添加utf_encode()(這隻會讓混亂出現更糟糕),等等,沒有什麼解決了這個問題。有任何想法嗎?
是您的phpscript文件設置爲'utf8'嗎? – JustOnUnderMillions
或者嘗試一下手冊中的內容: fwrite($ file,utf8_encode($ myString)); –
還要確保在寫入後用於打開文件的編輯器支持utf8並且未在latin1上設置 –