Вопрос по java, eclipse – Печать арабской строки в Java

7

Я пытаюсь отобразить арабский текст в java, но он показывает ненужные символы (например, ¤ [ï߯ [î) или иногда только вопросительные знаки при печати. Как мне сделать это для печати на арабском языке. Я слышал, что это что-то связано с Unicode и UTF-8. Это первый раз, когда я работаю с языками, так что понятия не имею. Я использую Eclipse Indigo IDE.

EDIT: если я использую кодировку UTF-8, то символы «¤ [ï߯ [î» становятся «????????» символы

@ Хурда: Вы правы. Любые альтернативы, чтобы я мог распечатать его на консоли или просто убедиться, что вывод, который я получаю, правильный! Chandra Eskay
Хотите печатать в настольном приложении или веб-приложении? Bhavik Ambani
Консоль Eclipse просто захватывает выходные данные процесса, которыйявляетс Юникод, Хурда. Joey
@ BhavikAmbani: это веб-приложение Chandra Eskay
Где ты распечатал свой уотпут? В консоль затмения? имейте ввиду, что стандартные командные строки не поддерживают юникод. Hurda

Ваш Ответ

3   ответа
7

Во. Это должно позволить вам заставить Eclipse печатать Unicode на своей консоли (что я не знаю, если это что-то, что Eclipse поддерживает из коробки без каких-либо дополнительных настроек)

Если это не решит вашу проблему, скорее всего, у вас есть проблема с кодировкой, которую использует ваша программа, так что вы можете захотеть создать строки некоторым образом, подобным следующему:

String str = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");

По крайней мере, это работает для меня.

Я пытался с этим, но теперь он показывает все знаки вопроса .. Chandra Eskay
@ Chandu-Indyaah: Ты пробовал их обоих? Кроме того, что именно вы пытаетесь напечатать? Метод выше работал для меня в консоли иJFrame. npinti
.getBytes() использует кодировку платформы по умолчанию, которая, по сути, является случайным значением. Преобразование строки в байты и затем обратно полностью излишне, если кодировки совпадают, и портит строку, если они не совпадают. Christoffer Hammarström
2

убедитесь, что вы правильно установили кодировку для своего проекта.

Нет, вывод происходит из вызова веб-службы Chandra Eskay
В этом случае вы должны использовать правильную кодировку для чтения из ответа веб-службы. Joey
1

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.

это не работает Error

Похожие вопросы