Mirmo Dynamics

Si tu kiffes pas reunoi, t'écoutes pas et puis c'est tout.

To content | To menu | To search

Keyword - charset

Entries feed - Comments feed

Wednesday 17 December 2008

Charset detection with python

I was looking for a way to easily determine a file's charset when I stumbled upon the Universal Encoding Detector. Just wanted to share it.

Installation:

$ wget http://chardet.feedparser.org/download/chardet-1.0.1.tgz -O - | tar xz
$ cd chardet-1.0.1
$ python ./setup.py build
$ sudo python ./setup.py install

Usage:

From a python console:

>>> import chardet
>>> chardet.detect(open('/path/to/your/file', 'r').read())
{'confidence': 0.98999999999999999, 'encoding': 'utf-8'}

Nice !

Tuesday 14 November 2006

MySQL, Interclassement et Recherche

Sur une colonne en interclassement utf8_bin, une recherche de type LIKE sera case sensitive (sensible à la casse) par défaut (je n'ai pas cherché / trouvé de moyen d'inverser ce comportement). Alors que sur un interclassement utf8_unicode_ci, la recherche se fait en mode case insensitive (insensible à la casse), à moins d'employer la syntaxe LIKE BIN 'needle'.

Wednesday 12 July 2006

Gestion des charset sous vim

Ne vous attendez pas a trouver un guide exhaustif de la gestion des encodages de caractères sous VIM dans ce billet, d'autres sites et surtout la doc fait ça beaucoup mieux que moi. Je m'en vais juste vous présenter le minimum vital pour vous dépatouiller dans ce foutoire que sont les charset. Le saint graal est consistué de deux variables de configuration: encoding et fileencoding. Les plus perspicaces auront déjà compris les quelques explications qui suivent.

encoding est la variable qui détermine l'encodage des caractères en cours d'édition, tandis que fileencoding contient l'encodage qui sera utilisé à la sauvegarde du fichier.

Concrétement, si vous tapez:

:set encoding=utf-8
:set fileencoding=iso-8859-15

Vous pouvez copier/coller du texte en UTF-8, et quand vous sauvegarderez votre fichier (:w par exemple), vos données seront automatiquement convertie et sauvegardée en ISO-8859-15.