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