Какой набор символов это? - PullRequest
       16

Какой набор символов это?

0 голосов
/ 15 декабря 2009

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

  • Ален Лефювр
  • AngÃàLale Dubeau & La PietÃÂÂ

Это похоже на огромное количество символов, представляющих é. Кто-нибудь знает, какая кодировка выдаст столько символов для é? Я понятия не имею, откуда они берут эти CSV-файлы, но, если я не смогу получить их в лучшем формате, как бы я преобразовал их в что-то вроде UTF-8?

Ответы [ 3 ]

6 голосов
/ 15 декабря 2009

Похоже, что это UTF-8 с двойным перекодированием. возможно возможно восстановить данные, открыв их как utf-8, сохранив их как Latin-1 (возможно) и снова открыв их как UTF-8.

4 голосов
/ 15 декабря 2009

Похоже, что это был процесс повреждения, когда данные записывались как utf-8, но считывались как cp1252, и это происходило три раза. Это может быть восстановлено (я не знаю, будет ли это работать для каждого символа, но, по крайней мере, для некоторых), поместив поврежденные данные в обратное преобразование - прочитайте как utf8, запишите как cp1252, повторите. Существует множество способов выполнить такое преобразование - использование текстового редактора, как предлагает Tordek, использование инструментов командной строки, как показано ниже, или использование функций кодирования, встроенных в вашу базу данных или язык программирования.

unix shell prompt> echo Alain Lefèvre | 
iconv -f utf-8 -t cp1252 | 
iconv -f utf-8 -t cp1252 | 
iconv -f utf-8 -t cp1252

Alain Lefèvre

unix shell prompt>
0 голосов
/ 15 декабря 2009

Это похоже на огромное количество символов, представляющих é.

Помните, символ ≠ байт . В выводе вы видите символы; вам нужно сделать что-то необычное, чтобы увидеть байты. (Я предлагаю 'xxd', инструмент, который устанавливается вместе с приложением Vim ; или 'od', одну из базовых утилит операционной системы GNU.)

Кто-нибудь знает, какая кодировка создаст это

Один инструмент, который хорош в угадывании кодировки символов потока байтов , - это enca * Extremely Naive Charset Analyzer .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...