繁体   English   中英

Java将unicode字符打印到bash shell(Mac OsX)

[英]java print unicode characters to bash shell (mac OsX)

我在Java 1.6中有以下代码:

System.out.println("\u00b2");

但是在OSX10.6的bash上我得到了问号而不是Unicode字符...

实际上,我想在扩展的ascii代码上打印字符176,177,178(请参见此处http://www.asciitable.com/ ),以在bash终端上创建一些图片。

任何想法?

谢谢

以下代码在Mac OS X 10.6.7上启用了UTF-8的Terminal.app中为我工作:

# code taken from: 
# "Print Unicode characters to the Terminal with Java",
# http://hints.macworld.com/article.php?story=20050208053951714

echo '
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
class Test {
  public static void main (String[] argv) throws UnsupportedEncodingException {
  String unicodeMessage = "\u00b2\u2591\u2592\u2593";
  PrintStream out = new PrintStream(System.out, true, "UTF-8");
  out.println(unicodeMessage);
  }
}
' > test.java

javac test.java
java Test

bash是否在UTF8语言环境中? 输入locale命令,看看您的LANG是否合适(例如* en_GB.UTF-8 *之类的东西)。 如果不是,请更新LANG的值,然后重试。

首先,您需要确定终端会话中的字符编码与Java应用程序输出的字符匹配。 您最可能希望使用UTF-8,我认为它是OS X的标准配置。

接下来,您需要确定终端会话中使用的字体实际上包含要查看的字符。 这些似乎很少见,可能并非在所有字体中都可用。

验证是否已选中Terminal > Preferences > Encodings UTF-8。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM