簡體   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