Android печатает арабские слова

1

я хочу создать клиент/серверное приложение, клиент - приложение android (2.2), а сервер - сервер Java tomcat, IDE - Eclips

Я хочу отправить арабские данные с сервера на клиент, используя сервлет, я нашел этот вопрос здесь, и это очень полезно, но моя проблема в том, что когда я использовал это:

info.setText(Farsi.Convert("وليم"));

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

info.setText(Farsi.Convert(results[0]));

он печатает странное английское слово, поэтому, возможно, проблема заключается в отправке данных с сервера на клиент или в другом месте?

все может быть полезно знать проблему

  1. Я могу распечатать арабские данные на консоли на сервере, и он работает хорошо
  2. данные поступают из mysql, а поле - utf8_unicode_ci
  3. Я отправляю данные с сервера на клиент с помощью сервлета: response.setCharacterEncoding("UTF-8");response.setHeader("Info", word);

пожалуйста, любая помощь !! , потому что это приложение - мой выпускной проект, и я должен поддерживать арабский.

Спасибо

Теги:
arabic
android-2.2-froyo

1 ответ

0

Моя точка зрения: вы не должны использовать заголовки для арабских слов, вместо этого используйте тело ответа.

Причина, которая скрыта здесь - по умолчанию конструкторы java.lang.String, использующие системную кодировку по умолчанию, и это может быть НЕ кодировка UTF-8. Вы должны создать строку из массивов байт, определяющих кодировку UTF-8 вручную, но это невозможно при использовании заголовков AFAIK.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню