martes, 25 de noviembre de 2008

VI: convertir archivos a formato utf-8

Para cambiar dentro de Vi la codificación a utf-8 ejecutamos lo siguiente:
:set fileencoding=utf-8
Podemos abreviarlo como
:set fenc=utf-8
Si queremos ejecutarlo desde línea de comandos o agregarlo a un batch:
vi archivo '+set fenc=utf-8' '+x'
El +set fenc, cambia la codificación y con el +x sale de vi y guarda los cambios si es necesario .El vi detecta automáticamente la codificación, si el archivo ya tuviese codificación utf-8 no salvará nada con lo que nos ahorramos "cálculo".

Por ejemplo podemos combinarlo con un find para cambiar todos los archivos de un tipo:
find -iname '*.html' -exec vi {} '+set fenc=utf-8' '+x' \;
En este caso cambiariamos la codificación de todos los archivos html a utf-8. Que nos podría hacer falta para cargar archivos utf-8 con el sqlloader(SQLLOADER: unicode (UTF8))

Para ver la codificación actual
:set fenc?

No hay comentarios: