[英]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.