我用行寫新文件,需要帶BOM的utf-8。在我的代碼添加BOM用最簡單的方法:在Windows和Unix中的BOM
printStream.print('\ufeff');
// print lines
而在Win7這種方法做工精細,但是當我在UNIX執行我的罐子我看「?」在序言和「utf-8沒有bom編碼」,我該如何解決它?跨平臺者優先...... 答:
char[] c = {0xEF, 0xBB, 0xBF};
for(int i=0; i<3; i++){
printStream.write(c[i]);
}
看待完全相同的工具文件或者你使用操作系統特定的觀衆?如果操作系統特定於Unix上的查看器可能不能正確解釋該命令。 – Thomas
相同的工具,Notepad ++。我在Unix上生成它,添加到檔案並在Windows中打開(我只有SCP到Unix系統) – bearhunterUA
聽起來像BOM不直接寫入,但變成UTF-8編碼 –