2013-05-27 11 views
5

Mam stronę internetową, która akceptuje pliki CSV. Pliki te mogą być tworzone w różnych miejscach. (Myślę, że) nie ma sposobu na określenie kodowania w pliku CSV - więc nie mogę wiarygodnie traktować ich wszystkich jako utf-8 lub jakiegokolwiek innego kodowania.Czy można "wąchać" kodowanie znaków?

Czy istnieje sposób inteligentnego odgadnięcia kodowania pliku CSV, który otrzymuję? Pracuję z Pythonem, ale chętnie też zajmuję się metodami agnostycznymi.

+2

Istnieją sposoby, tak długo, jak to tylko możliwe na żywo z błędami, ponieważ nie ma 100% pewności, jak odgadnąć kodowanie. –

+0

możliwy duplikat [Czy istnieje funkcja biblioteki Python, która próbuje odgadnąć kodowanie znaków niektórych bajtów?] (Http://stackoverflow.com/questions/269060/is-there-a-python-library-function-which - próbuje odgadnĘ ... ć-znak-kodowania) –

+0

Możesz dość dobrze wykrywać kodowanie, jeśli znasz język, w którym znajdują się te pliki - prawda? – georg

Odpowiedz

6

Nie ma prawidłowy sposób określić kodowanie pliku, patrząc tylko samego pliku, ale można użyć heurystyczne oparte na rozwiązanie niektórych, np .: chardet