2013-11-26 4 views
1

Как можно создать массив строк с некоторыми специальными символами, такими как Ö, ä, Ü и так далее.Как создать массив строк с дополнительными символами?

Это очень важно для меня с кодировкой UTF 8. Теперь это решение с строковым массивом непосредственно в Java коде вызывает ошибку:

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

Я получаю ошибку «unmappable символов для кодирования UTF8»

это единственный способ работы с внешним файлом и читать содержимое этого файла?

+4

Какая ошибка вы получаете? – mvieghofer

+2

Для этого понадобится еще несколько контекстов и/или объяснений, потому что это действительно неопределенно ... – Voidpaw

+3

Вы всегда можете использовать нотацию Unicode: 'String [] unicodeCharacters = {" \ u00ea "," \ u00f1 "," \ u00fc "}' , Не то чтобы это решает какую-либо проблему, просто чтобы вы знали. – MaQy

ответ

2

Компилятор предполагает, что ваш вход (исходный файл) закодирован с помощью UTF-8, убедитесь, что ваш редактор (Eclipse, Netbeans ..) сохраняет файл с UTF-8, а не любую другую кодировку.

+1

Не простой код и ценное предложение. +1. –

+0

@Henry Как это противостоит тому, что я сказал? – Maroun

+0

@MarounMaroun вы сказали, что компилятор предполагает UTF-8, кодирование платформы может быть или не быть UTF-8 – Henry

2

Есть два варианта: вы можете напрямую помещать символы в файл так же, как и вы, но тогда кодировка файла должна соответствовать кодировке, используемой компилятором (см. Параметр компилятора -encoding).

Другой способ - использовать escape-коды unicode, такие как \u00f6 для ö.

Смежные вопросы