Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse:在文本编辑器中使用UTF-8编码会使字符串无法正常工作,我如何解决这个问题?_Java_Eclipse_Encoding_Utf 8_Cp1252 - Fatal编程技术网

Java Eclipse:在文本编辑器中使用UTF-8编码会使字符串无法正常工作,我如何解决这个问题?

Java Eclipse:在文本编辑器中使用UTF-8编码会使字符串无法正常工作,我如何解决这个问题?,java,eclipse,encoding,utf-8,cp1252,Java,Eclipse,Encoding,Utf 8,Cp1252,我在代码中有一些希腊文注释,当我输入一个希腊文字母时,它会说“拯救我们UTF-8” 然后,如果我这样做并重新运行程序,以前显示的字符串将无法正常工作 例如,我正在研究一种加密算法(简化Des),这是我在文本编辑器中使用Cp1252编码作为输出得到的结果: ÅO [áa[aá»j×jt INFO BOB 57674 第一行是加密版本,第二行是解密版本 这就是我将编码更改为UTF-8时得到的结果 �O [�a[a�j�jt ���NFO���BOB���7���74 我不明白这里发生了什么,我以

我在代码中有一些希腊文注释,当我输入一个希腊文字母时,它会说“拯救我们UTF-8”

然后,如果我这样做并重新运行程序,以前显示的字符串将无法正常工作

例如,我正在研究一种加密算法(简化Des),这是我在文本编辑器中使用Cp1252编码作为输出得到的结果:

ÅO [áa[aá»j×jt
INFO BOB 57674
第一行是加密版本,第二行是解密版本 这就是我将编码更改为UTF-8时得到的结果

�O [�a[a�j�jt
���NFO���BOB���7���74
我不明白这里发生了什么,我以前从未见过这样的事情。有人能帮我吗?提前谢谢你

这里(至少)有一个关于是否这样的讨论


就我个人而言,我建议不要这样做。我更愿意使用在源代码中对这些希腊字符进行编码,并保持其他设置不变。

您可以尝试强制Eclipse对Java源文件使用UTF-8。转到首选项,常规->内容类型,展开文本并查找Java源文件。将默认编码设置为UTF-8。您是否使用java.io.Reader和java.io.Writer读取/写入文件?我尝试将默认编码更改为UTF-8,但这一点都不重要。希腊语注释显示正确,但是我的代码没有打印正确的结果。我的加密级别非常低,这意味着它通过操纵位来工作。为了获得最终结果,需要重复执行许多移位、左、右异或和或操作。我不确定问题是否在于我在操作位,而编译器无法识别某些位序列,因此它不会打印正确的值,而是打印其他内容…谢谢,如果没有任何更改,我可能会坚持使用默认设置,并使用英文作为我的注释,但是我仍然不明白为什么会发生这样的事情。我不确定,但我认为您更改了设置,但是项目中受影响的文件没有正确地重新编码和保存。因此,Eclipse/Java将这些文件解释为UTF-8,而实际上这些文件包含的字符仍然编码为Cp1252。再次感谢。我会选择你的答案,因为它似乎解决了问题,但我尝试再次问同样的问题,并提供了更多的细节,以找出在使用UTF-8时是否有解决方案。我以前使用过UTF-8,从未遇到过任何问题。我认为我没有正确地操作位,或者我遗漏了一些与我不理解UTF-8到底是如何工作有关的东西。