【问题标题】:how to insert the ≠ sign into a string如何将≠符号插入字符串
【发布时间】:2014-05-12 15:14:12
【问题描述】:

我想要的最终结果是这样的

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 并插入它之后,它会显示为?运行时...
可以做什么?提前感谢您回答这个非常简单的问题

【问题讨论】:

  • 似乎是控制台编码的问题,而不是 Java 程序的问题。 ideone.com/OJhKeG - 工作正常
  • 这可能是您的控制台。但要确保不是文件编码有问题,您可以使用 Unicode 转义 \u2260 而不是字符串中的 字符。
  • 我同意克罗津的观点。您可以通过写入文件而不是标准输出来测试它,然后在您知道可以处理 unicode 的编辑器中打开文件。如果可行,则意味着 Java 正确处理了字节,问题一定出在您的控制台上。
  • 为我工作。尝试使用记事本。希望您使用的是 IDE。

标签: java string utf-8 character-encoding


【解决方案1】:

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

-Dfile.encoding=UTF-8

【讨论】:

    【解决方案2】:

    正如@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 或查看此answer。问题 4-5 超出了您的 Java 程序范围。如果您不确定,只需将输出重定向到一个文件,然后使用 Hex 编辑器查看它。

      【讨论】:

        【解决方案4】:

        当您保存 java 文件时,请确保它保存在与打开文件相同的字符集中。

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

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

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

        【讨论】:

          【解决方案5】:

          似乎在 Eclipse 询问我是否要更改为 UTF-8 之后,它才起作用,只是在我发布这个之后。 很抱歉浪费您的时间

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-10-22
            • 1970-01-01
            • 2016-08-26
            • 1970-01-01
            • 1970-01-01
            • 2016-09-12
            • 1970-01-01
            • 2019-12-18
            相关资源
            最近更新 更多