将Eclipse更改为UTF-8编码后文本损坏

out*_*lou 5 java eclipse encoding

我不得不将Eclipse Indigo编码更改为UTF-8.现在所有的éàçè的spécial字符都被替换为 .

我可以进行搜索和替换,但我想知道是否有更好的解决方案.

谢谢

Den*_*ret 7

在Eclipse中更改编码不会更改现有文件:它只会改变Eclipse读取它们的方式.

您需要的是将旧文件转换为UTF-8以及配置Eclipse.

有一些工具可以做到这一点,你也可以写一个小的java程序.

如果你想使用一个现有的工具,这是我发现的第一个:http://www.marblesoftware.com/Marble_Software/Charco.html(你可以为你的(未指定的)操作系统找到一个更好的工具.

如果你想自己编写一个工具(大约20个LOC),要知道的是你必须:

这是该操作的核心:

  reader = new BufferedReader(new InputStreamReader(new FileInputStream(...), "you have to know it"));
  writer = new OutputStreamWriter(new FileOutputStream(...), "UTF-8"); 
  String line;
  while ((line=reader.readLine())!=null) {
     writer.write(line);
  }
Run Code Online (Sandbox Code Playgroud)