2013-11-26 55 views
1

如何創建一個字符串數組,其中包含一些特殊字符,如Ö,ä,Ü等。如何使用其他字符創建字符串數組?

自從UTF 8編碼以來,這對我來說非常重要。現在,這個解決方案直接在Java代碼中的字符串數組導致錯誤:

String[] invalidCharacters = { "!", "\"", "§", "%", "&", "/", "\\", "{", "}", "[", "]", 
     "(", ")", "`", "´", "'", "²", "µ", "#", "+", "~", ",", ";", ":", "_", "<", ">", ".", 
     "|", "@", "^", "°", "ü", "Ü", "ä", "Ä", "ö", "Ö", "ß", "Ø", "ø", "å", "æ", "Æ" }; 

我得到的錯誤「不可映射字符編碼UTF8」

與外部文件工作和閱讀的唯一途徑這個文件的內容?

+4

你會得到什麼錯誤? – mvieghofer

+2

這將需要更多的上下文和/或解釋,因爲它真的很模糊...... – Voidpaw

+3

你總是可以使用Unicode表示法:'String [] unicodeCharacters = {「\ u00ea」,「\ u00f1」,「\ u00fc」}' 。不是說這可以解決任何問題,只是爲了讓你知道。 – MaQy

回答

2

編譯器假定您的輸入(源文件)使用UTF-8編碼,請確保您的編輯器(Eclipse,Netbeans ..)使用UTF-8保存文件,而不是使用任何其他編碼。

+1

不僅僅是代碼和寶貴的建議。 +1。 –

+0

@亨利這是怎麼反對我說的? – Maroun

+0

@MarounMaroun你說的編譯器假定UTF-8,平臺編碼可能是或不是UTF-8 – Henry

2

有兩種選擇:您可以像直接一樣將字符放入文件中,但是文件的編碼必須與編譯器使用的編碼匹配(請參閱編譯器的-encoding選項)。

另一種方法是對ö使用unicode escapes,如\u00f6