Восстановление оригинального UTF8 / кандзи / китайского текста из случайного / мусора ASCII - PullRequest
2 голосов
/ 03 ноября 2011

Я знаю, что это невозможно, но все равно хочу попробовать.

Таким образом, у меня есть некоторые данные в результате представления формы HTML. Пользователи первоначально печатали на кандзи в некоторых полях. Но все, что я получил, это случайные буквы типа ascii:

æŽå ° 玲

Я уже исправил проблему с кодировкой (так, чтобы новые представления формы отлично обрабатывали utf8), но хотел бы посмотреть, смогу ли я восстановить старые данные (правильные буквы кандзи) до исправления.

Спасибо за помощь.

UPDATE:

Полагаю, требуется небольшое уточнение. Как я уже сказал, у меня уже исправлена ​​проблема кодирования для HTML-формы. Фактический вопрос заключается в том, можно ли восстановить исходные кандзи из «мусорных» данных, которые я уже получил.

Например, я пытаюсь "перепроектировать" следующее

ôüÒýR
å¼µå¥éºŸ
冉榆平
·¨¶vÚ¬

Каждая строка должна быть чьим-то именем на кандзи или китайском. Я перепробовал все разумные кодировки, такие как GBK, gb18030 и Big5-HKSCS. Пока не повезло.

Последнее обновление:

Теперь вам повезло с кодированием BIG5. Он не работал для всех данных мусора, но работал примерно для 2/3 из них.

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

Использование Преобразователь набора символов - онлайн-инструмент

  • Кодировка ввода должна быть UTF8

  • Для кодировки вывода попробуйтевсе разумные кодировки для восточных персонажей.

  • Не забудьте установить второй флажок.

Большинство, если не все буквы мусора должны быть восстановлены.

0 голосов
/ 20 января 2012

К вашему сведению, класс java String поддерживается 2-байтовыми символами и был разработан тогда, когда юникод занимал всего 2 байта.Таким образом, он не обрабатывает 3-байтовые символы японского и китайского языков.Смотри http://java.sun.com/developer/technicalArticles/Intl/Supplementary/

0 голосов
/ 03 ноября 2011

Эти буквы не ASCII.Никакие буквы ASCII не имеют каких-либо акцентов.

Непонятно, как вы читаете эти данные - из файла, базы данных, чего-то еще?В любом случае, вполне возможно, что он уже в UTF-8 - поэтому вы должны просто попытаться прочитать его, используя эту кодировку.Вы не сказали нам, какую платформу вы используете, но вы должны убедиться, что независимо от того, что вы используете , вы сможете узнать, какие символы Unicode вы прочитали по номеру -это намного надежнее, чем распечатывать значения в виде символов.

...