如何将 ≠ 符号插入到字符串中

9
我想要的最终结果是这样的:
System.out.println("This is the not equal to sign\n≠");

在运行时显示为

This is the not equal to sign
≠

不要出现为...的情况。
This is the not equal to sign
?

有没有办法做到这一点?我试过使用 Windows 字符映射表,在此处复制了该符号,并在我的代码中插入,但在将编码更改为 UTF-8 并插入后,运行时会显示为 ?...
有什么解决方法吗?感谢提前回答这个极其简单的问题。


5
似乎是你的控制台编码出了问题,而不是Java程序。http://ideone.com/OJhKeG - 运行良好。 - Crozin
3
可能是你的控制台出了问题。但为确保不是文件编码的错误,你可以在字符串中使用 Unicode 转义字符 \u2260 代替 字符来进行验证。 - Tobias Brandt
我同意Crozin的观点。你可以通过将输出写入文件而不是标准输出,然后在一个你知道能处理Unicode的编辑器中打开该文件来进行测试。如果这样能正常工作,那就意味着Java正确处理了字节,问题可能出在你的控制台上。 - yshavit
对我来说可以工作。尝试使用记事本。希望你正在使用集成开发环境。 - Lasitha Benaragama
5个回答

6

将字符编码设置为UTF-8,如果您的文本编辑器已经使用UTF-8或支持该字符,请传递此VM参数。

-Dfile.encoding=UTF-8

4

正如@Tobias Brandt所说,您可以使用:\u2260

顺便说一下,@Crozin也是对的,关于您的控制台配置

像这样

System.out.println("This is the not equal to sign \n\u2260");

3

这里有五个潜在问题:

1) 你用什么字符集编码保存(从编辑器中)你的Java源代码?

2) Java编译器假定使用哪个字符集编码?

3) 你的控制台使用哪种字符集编码?

4) 你是否使用带有转换功能的终端?

5) 你的控制台字体是否包含那个特定字符?

要解决问题1和2,应该在编辑器和javac设置中都使用UTF-8,或者更加可靠的方法是使用纯ASCII文本转义Unicode字符(参见Frakcool的回答)。

对于问题3,请尝试使用-Dfile.encoding=UTF-8,或查看此答案。问题4和5超出了你的Java程序范围。如果不确定,请将输出重定向到文件,并使用十六进制编辑器查看。


0

当您保存Java文件时,请确保它与打开的文件使用相同的字符集。

在我的Eclipse中,当我保存带有特殊字符(例如\u2260)的文件时,它会询问我要使用哪种字符集。

在终端中打开文件并检查文件内容。

确保它与您正在使用的编辑器中的字符相同。


0

看起来在Eclipse问我是否要改为UTF-8之后,它才起作用,只是在我发布这篇文章之后。 抱歉浪费了您的时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接