2013-11-26 57 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