Вопрос по java, eclipse – Печать арабской строки в Java
Я пытаюсь отобразить арабский текст в java, но он показывает ненужные символы (например, ¤ [ï߯ [î) или иногда только вопросительные знаки при печати. Как мне сделать это для печати на арабском языке. Я слышал, что это что-то связано с Unicode и UTF-8. Это первый раз, когда я работаю с языками, так что понятия не имею. Я использую Eclipse Indigo IDE.
EDIT: если я использую кодировку UTF-8, то символы «¤ [ï߯ [î» становятся «????????» символы
Во. Это должно позволить вам заставить Eclipse печатать Unicode на своей консоли (что я не знаю, если это что-то, что Eclipse поддерживает из коробки без каких-либо дополнительных настроек)
Если это не решит вашу проблему, скорее всего, у вас есть проблема с кодировкой, которую использует ваша программа, так что вы можете захотеть создать строки некоторым образом, подобным следующему:
String str = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");
По крайней мере, это работает для меня.
JFrame
.
npinti
.getBytes()
использует кодировку платформы по умолчанию, которая, по сути, является случайным значением. Преобразование строки в байты и затем обратно полностью излишне, если кодировки совпадают, и портит строку, если они не совпадают.
Christoffer Hammarström
убедитесь, что вы правильно установили кодировку для своего проекта.
Java EE или Java ME? Если это для Java ME, вы должны сделать пользовательские GlyphUtils, если вы используете LWUIT. Загрузите этот файл:http: //dl.dropbox.com/u/55295133/U0600.pd Посмотрите список кодировки Unicode .. И посмотрите на эту тему:https: //stackoverflow.com/a/9172732/106137 в ответе (посте) Мохамеда Назара, который редактировал бернама Алекс Ключников, «приведенный ниже код можно использовать для отображения арабского текста в J2MEString s=new String("\u0628\u06A9".getBytes(), "UTF-8");
где\u0628\u06A9
- это юникод из двух арабских букв "Посмотрите на файл U0600.pdf, поэтому мы можем видеть, что Мохамед Назар и Алекс Ключников приводят пример создания символов" ba "и" kaf "на арабском языке.
Затем последнее, что вы должны учитывать: «Убедитесь, что ваш интерфейс поддерживает Unicode (я имею в виду арабский) символ». Вроде LWUIT не поддерживает пока юникод (я имею ввиду арабский) символ. Вы должны создать свой собственный код, если вы имеете в виду, что ваше приложение использует LWUIT.