【问题标题】:How can you make the pound sterling sign (£) show in the command prompt from a java program?如何在 java 程序的命令提示符下显示英镑符号 (£)?
【发布时间】:2011-04-28 14:52:33
【问题描述】:

在执行完操作后,我无法在命令提示符中正确显示 £ 符号:

System.out.println("x到y的价格是4英镑");

在命令提示符下执行时,它显示:x 到 y 的价格是 ú4

【问题讨论】:

  • 您系统的默认字符编码是什么?
  • 可能有用的阅读材料:joelonsoftware.com/articles/Unicode.html
  • 显示非 ASCII 字符的问题在于,在任何给定的情况下,大约有五个地方可能会出错,如果不确定问题所在,就不可能说出如何解决问题。 IE。问题是您的文本编辑器保存的编码与编译器输入的编码不同,还是您的控制台使用的编码与 Java 打印的编码不同,等等。基本上,在每个文本输入/输出接口上,both b> 双方必须使用相同的编码,而纯文本通常无法提供元数据来指定它。

标签: java


【解决方案1】:

Windows 运行

chcp 1252

首先在您的命令提示符中。

【讨论】:

    【解决方案2】:

    您需要在字符串中为井号符号提供一个 Unicode 值。

    你应该这样做:

    System.console().writer().println("The price from x to y is \u00A34");
    

    更多信息请参见this page

    另见this question

    【讨论】:

    • 错了。这是控制台 ANSI-OEM 转换问题,不是源编码问题。
    • @axtavt,你不能肯定地说。也许源代码是使用与 javac 预期不同的代码页输入到编辑器中的。
    • @retrodome,也许应该是 \u0A34 ;) 但 £ 应该做同样的事情。
    • @Peter,抱歉,00A3 是 £ 的 unicode。后面的 4 是他的问题中的数值。
    【解决方案3】:

    唯一适合我的变体:

    System.out.println((char) 339);
    

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多