可以試試這種方式:
https://stackoverflow.com/questions/4839402/how-to-write-file-in-utf-8-format
將編碼改成 utf8-BOM 試試
utf8 的 bom 就是在前面加上 EF BB BF
維基百科-位元組順序記號
範例:
$txt='123';
$bom=pack('C*',0xEF,0xBB,0xBF);
file_put_contents('test.txt',$bom.$txt);
因為 BOM 要直接放在檔案頭
所以如果你的 fopen 模式為 a 的話
對於已經有資料的檔案沒法處理
必須用其他開啟模式或是直接讀出整個檔案判斷