當寫入字符串「¿」外出時使用爲什麼叫.getBytes()
System.out.println(new String("¿".getBytes("UTF-8")));
¿寫的,而不是僅僅¿字符串「¿」得到翻譯爲「¿」。
爲什麼?我們如何解決它?
當寫入字符串「¿」外出時使用爲什麼叫.getBytes()
System.out.println(new String("¿".getBytes("UTF-8")));
¿寫的,而不是僅僅¿字符串「¿」得到翻譯爲「¿」。
爲什麼?我們如何解決它?
您不必使用UTF-16來解決這個問題:
new String("¿".getBytes("UTF-8"), "UTF-8");
的作品就好了。只要給予getBytes()
方法的編碼與傳遞給String構造函數的編碼相同,就應該沒問題!
聽起來就像是系統控制檯是不是UTF-8
你需要在構造函數的字符串指定字符集(見API docs)。
嘗試:
System.out.println(new String("¿".getBytes("UTF-8"), "UTF-8"));
您需要指定將編碼字符串轉換爲字節時和轉換字節回字符串時。
這就是我所說的,加上我鏈接到API文檔。 ;) – 2008-10-06 21:05:06