这是问题所在。我有一个Java程序,将XML
转换为CSV
。下面显示了我的xml中的一个元素标记。CSV转换无法识别特殊字符
<person-name>Greg kaménez</person-name>.
我的解析器能够正确解析它。但在转换完成后,当我将其写入csv文件并在mcsft excel中打开该文件时,我将"Greg kaménez"
视为单元格值,而不是Gregkaménez。
我也注意到,当我在Eclipse IDE中的文本编辑器中打开相同的csv文件时,它正确显示了名称“Greg kaménez
”。
这里是通过我写一个字符串到CSV片断:
String csv = ""x","y","Greg kaménez","z"";
String fileName = "output.csv";
File csvFile = new File(fileName);
String jobId = null;
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "UTF-8"));
writer.append(csv);
writer.close();
向我们展示的代码 – tom
我怀疑这是同一个问题的重音'e'在两个字符,其中一个修改第二被编码。因为这是特定顺序的,所以当某些应用程序不按顺序处理这些字符时,它将创建乱码而不是正确带重音的字符。 (我们需要查看代码来确切解决问题。) – BlackVegetable
将这两个文件的编码设置为utf – itsraja