Являются ли эти квадраты представлением о том, что китайские символы превращаются в юникод?
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 не может обрабатывать набор символов??
Я хотел бы хранить и отображать несколько наборов символов на разных языках, которые могут содержать смесь языков.
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-совместимая, если вы каким-то образом получаете только идентичные управляющие символы вместо текстовой строки.
Здесь я ввел квадраты с номерами внутри них в сообщение, но они не отображали
С "квадратами с цифрами внутри", вы имеете в виду те, что вы также видите для некоторых экзотических языков где-то внизу Wikipedia homepage при просмотре браузера Firefox? (во всех других браузерах -MSIE, Chrome, Safari и т.д. вы ничего не увидите - пустые квадраты).
Если true, то это просто означает, что для этих символов в шрифте, который требуется для использования веб-браузером/наблюдателем, для глифов не существует.
Я хотел бы хранить и отображать несколько наборов символов на разных языках, которые могут содержать смесь языков.
Используйте UTF-8 полностью. Имейте в виду, что MySQL поддерживает только панель BMP Unicode (макс. 3 байта на символ), а не другие панели (4 байта на символ). Таким образом, панель SMP (которая содержит "специальные" символы CJK) выходит за пределы диапазона для MySQL.