Android, mysql и рендеринг нелатинских символов, а также латиницы?

0

Являются ли эти квадраты представлением о том, что китайские символы превращаются в юникод?

EDIT: [Здесь я ввел квадраты с номерами внутри них в сообщение, но они не отображались]

Я хотел бы либо вернуть это обратно к оригинальным символам, когда отображается в android (или включить mysql, чтобы просто хранить их как китайские символы, а не в Юникоде???)

BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);

Во время отладки он показывает значение строк как   "\ U001a\u001a\u001a\u001a"

 byte[] bytes = chinesestringfromdatabase.getBytes();

превращает его в "[26, 26, 26, 26]"

String fresh = new String(bytes, "UTF-8");

а затем он возвращает его обратно в EDIT: [Здесь я ввел квадраты с номерами внутри них в сообщение, но они не отображались]

Мой телефон может отображать китайский текст.

MySQL charset: UTF-8 Unicode (utf8)

При наборе моего вопроса я понимаю, что, возможно, у меня неправильная кодировка все вместе. Я потерял вопрос о том, будет ли моя проблема вообще связана с кодированием или если она просто связана с настройкой или если php не может обрабатывать набор символов??

Я хотел бы хранить и отображать несколько наборов символов на разных языках, которые могут содержать смесь языков.

Теги:
unicode

2 ответа

0

What were the numbers in the boxes? I'm guessing they were 001A? Like ?

(SO обычно отфильтровывает их, поскольку они являются управляющими символами ASCII, обычно невидимыми в других браузерах.)

Во время отладки он показывает значение строк как "\ u001a\u001a\u001a\u001a"

Хорошо, что там нет китайцев или каких-либо текстов. Любое информационное содержимое в исходной строке было потеряно.

Хотя я согласен с тем, что вам нужно использовать UTF-8 во всем (что для PHP означает, что вы используете страницу формы с тегом UTF-8 <meta>, используя mysql_set_charset('utf8') и создавая ваши таблицы MySQL с коллаборациями UTF-8), Я думаю, что у вас должна быть более серьезная проблема с коррупцией, чем просто кодировка UTF-8-vs-other-ASCII-совместимая, если вы каким-то образом получаете только идентичные управляющие символы вместо текстовой строки.

0

Здесь я ввел квадраты с номерами внутри них в сообщение, но они не отображали

С "квадратами с цифрами внутри", вы имеете в виду те, что вы также видите для некоторых экзотических языков где-то внизу Wikipedia homepage при просмотре браузера Firefox? (во всех других браузерах -MSIE, Chrome, Safari и т.д. вы ничего не увидите - пустые квадраты).

Если true, то это просто означает, что для этих символов в шрифте, который требуется для использования веб-браузером/наблюдателем, для глифов не существует.

Я хотел бы хранить и отображать несколько наборов символов на разных языках, которые могут содержать смесь языков.

Используйте UTF-8 полностью. Имейте в виду, что MySQL поддерживает только панель BMP Unicode (макс. 3 байта на символ), а не другие панели (4 байта на символ). Таким образом, панель SMP (которая содержит "специальные" символы CJK) выходит за пределы диапазона для MySQL.

Ссылки

  • 0
    [дополнительный вопрос - Как я процитирую вас, как вы цитировали меня] "Под" квадратами с числами внутри "вы подразумеваете то же, что и те, которые вы также видите для некоторых экзотических языков где-то внизу домашней страницы Википедии, просматривая с помощью Браузер Firefox? (Во всех других браузерах - MSIE, Chrome, Safari и т. Д. Вы бы видели только пустые квадраты), если это правда, то это просто означает, что для этих символов в шрифте, который используется веб-браузером, нет доступных глифов. / зритель получил указание использовать. " ДА!
  • 0
    Просто оставьте комментарий :) Что ж, тогда вам нужно установить правильный шрифт или дать указание веб-браузеру / программе просмотра использовать другой шрифт, в котором вы можете быть уверены, что в его наборе есть правильные глифы.
Показать ещё 2 комментария

Ещё вопросы

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