![](/img/trans.png)
[英]How can I convert a downloaded csv file (ANSI) to UTF-8 in Android
[英]Creating TSV file in Android: when I try to open in Excel it detects it as ANSI, I need UTF-8
在我的Android應用程序中,我創建一個TSV文件,然后通過電子郵件發送它。 當我嘗試使用Excel打開它時,它會將其檢測為ANSI,因此看不到我的某些字符。 我沒有由我創建的另一個應用程序,該應用程序也執行相同的操作,但是Excel將其檢測為UTF-8。 我檢查了兩個文件的十六進制代碼,發現他在某些空格(不是制表符)中使用C2 A0,而我使用20。
這是我用來創建文件的代碼:
FileOutputStream writeFileHandler = context.openFileOutput(LOG_FILENAME_CSV, Context.MODE_WORLD_READABLE);
OutputStreamWriter oputStreamWriter = new OutputStreamWriter(writeFileHandler, "UTF-8");
for(int i=log_rows.length-1; i>=0; i--){
String[] entries = getDailyLogEntries(log_rows[i]); // array of your values
for(int j=0; j<entries.length; j++){
if(j==0) oputStreamWriter.write(entries[j]);
else{
if(entries[j] != null) oputStreamWriter.write("\t"+entries[j]);
}
}
oputStreamWriter.write("\n");
}
oputStreamWriter.flush();
oputStreamWriter.close();
writeFileHandler.close();
我嘗試使用DDMS提取文件以避免發送電子郵件,並且結果相同,被檢測為ANSI。 我該怎么做,以便Excel將其檢測為UTF-8?
謝謝!
您是否嘗試過在TSV文件的開頭添加UTF-8 BOM? 這可以說服Excel它是UTF-8文件。 字節序列為0xEF,0xBB,0xBF。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.