UTF-8 y BOM
- Actividad BasedeDatos
Con la Actividad BasedeDatos al parecer todavía hay un problema con BOM (http://en.wikipedia.org/wiki/Byte-order_mark) al importar archivos UTF-8.
- Vea esta discusiíon en foro para un ejemplo en hebreo
- Vea también esto tracker issues
--Frank Ralf 10:36, 13 July 2009 (UTC)
¿Qué significa BOM?
- BOM es la abreviatura de "Byte Order Mark".
- Byte Order Mark (BOM) FAQ by the Unicode Consortium.
- "The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)" from Joel on Software (2003)
¿Para qué sirve?
Se usa para caracteres de varios bytes, para marcar el orden en el que aparecen los bytes.
¿Cual es el problema con BOM?
- Vea Display problems caused by the UTF-8 BOM
- Algunos editores de texto añaden un BOM por defecto, por ejemplo, el Notepad (block de notas) de Windows .
- Al exportar desde OpenOffice Calc, ¡el BOM se cuela aún después del primer delimitador!
¿Cómo puedo detectar un BOM?
Usted necesitará un editor de texto que sea capaz de mostrar caracteres especiales Unicode. Un buen editor de textos Unicode para Windows es SC UniPad.
La imagen muestra un archivo CSV exportado desde OpenOffice Calc, en donde el BOM (#FEFF) se cuela, ¡inclusive después del primer delimitador!
Revisar una carpeta de Moodle para buscar archivos BOM
Si Moodle está instalado en un servidor Linux, Usted puede intentar una de las siguientes líneas de comandos:
find . -type f -print0 | xargs -0r awk '/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}' fgrep -rl `echo -ne '\xef\xbb\xbf'`
find & remove!
find . -type f -exec sed 's/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;
¿Cómo puedo deshacerme del BOM?
Cualquiera de los editores de texto ariba mencionados, compatibles con Unicode, le permitirá eliminar un BOM, algunos inclusive lo harán automáticamente al abrir o guardar un archivo.
Algunos otros editores de texto guardarán los archivos sin BOM; por ejemplo, Notepad++.