我不得不将EclipseIndigo编码改为UTF-8。现在所有的社会角色都是_?_替换为?.
我可以搜索和替换,但我想知道是否有更好的解决方案。
谢谢
那么,您将需要特定于项目的编码。
查看stackoverflow.com/questions/64860/…,因为这似乎是您想要的。
@他已经改变了编码,现在他必须处理坏字符。如果他真的想要另一种编码,我想他会像以前那样放弃它;)
在Eclipse中更改编码不会更改现有文件:它只会更改Eclipse读取它们的方式。您需要的是将旧文件转换为UTF-8并配置Eclipse。有一些工具可以做到这一点,你也可以编写一个小的Java程序。
@这是真的,因为当我用记事本+打开一个类时,字符会正确显示。
在Eclipse中更改编码不会更改现有文件:它只会更改Eclipse读取它们的方式。
您需要的是将旧文件转换为UTF-8并配置Eclipse。
有一些工具可以做到这一点,你也可以编写一个小的Java程序。
如果你想使用现有的工具,这里是我发现的第一个工具:http://www.marble software.com/marble_software/charco.html(你可以为你的(未指定的)操作系统找到更好的工具)。
如果您想自己编写一个工具(大约20个loc),需要知道的是,您必须:
用初始字符集读取文件
以UTF-8格式写入文件
操作的核心是:
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);
}
我推荐使用notepad++进行转换。这是一个编辑器,它有一些非常有用/强大的视图和转换工具来解决字符集的问题。还有一些类似"瑞士刀"的功能(文件比较、高级搜索和替换等等…)
记事本+
遗憾的是,像Eclipse这样的大型工具没有内置这种功能。
只需要alt+enter,然后选择资源utf-8
即使是Neon 3也不能自动进行传输。首先,将资源更改为ISO-8859-1,或者根据文件的实际编码,将文本剪切到剪贴板并将文件保存为空。别忘了关闭编辑器。然后执行alt+enter技巧并更改文件编码,打开文件并将内容粘贴回去。