Java 英国英镑符号(£;)显示为£;在生成的csv文件中

Java 英国英镑符号(£;)显示为£;在生成的csv文件中,java,android,csv,Java,Android,Csv,我正在尝试使用以下代码在我的应用程序中生成CSV文件: 如果我在Excel2007中打开该文件,那么我会在出现符号的地方得到 try { FileWriter fw = new FileWriter(filename); fw.append("Item Name"); fw.append(','); fw.append("Item Sku"); fw.append(','); fw.append("Tax Rate (%)"); fw.append(','); fw.append("I

我正在尝试使用以下代码在我的应用程序中生成CSV文件:

如果我在Excel2007中打开该文件,那么我会在出现
符号的地方得到

try {
FileWriter fw = new FileWriter(filename);

 fw.append("Item Name");
fw.append(',');

fw.append("Item Sku");
fw.append(',');

fw.append("Tax Rate (%)");
fw.append(',');

fw.append("Item Qty");
fw.append(',');

fw.append("Unit Price (\u20AC)");
fw.append(',');

fw.append("Total Price (\u20AC)");
fw.append(',');

fw.close();
}
catch (Exception e) {
 Log.e(getClass().getSimpleName() ,"Error in create CSV File: "+e.getMessage())
}

您需要使用windows-1252编码,而不是默认编码。这对我有用

您需要使用windows-1252编码,而不是默认编码。这对我有用

你有什么解决办法吗?如果你有,请加上你的答案。我对欧元区也有同样的问题。提前谢谢。我在我的nodejs应用程序中也遇到了同样的问题,你可能需要使用
“\t”
delimeter,并在你的csv字符串中预先添加BOM
'\ufeff'
,并将编码设置为
'utf16le'
,就像我在这里做的那样:我不了解java,所以你需要研究如何在java中做到这一点。希望这有帮助你有什么解决办法吗?如果你有,请加上你的答案。我对欧元区也有同样的问题。提前谢谢。我在我的nodejs应用程序中也遇到了同样的问题,你可能需要使用
“\t”
delimeter,并在你的csv字符串中预先添加BOM
'\ufeff'
,并将编码设置为
'utf16le'
,就像我在这里做的那样:我不了解java,所以你需要研究如何在java中做到这一点。希望这有帮助