Ola, somos Arume

Desenvolvemos páxinas web, aplicacións para móbiles, capas de realidade aumentada e aplicacións para Facebook. Apaixónanos a informática e somos uns perfeccionistas incurables; por eso nos nosos proxectos utilizamos estándares.

tel. 625 519 694

Mendaña de Neyra, 34, 3º B, 15008, A Coruña

Autenticarse

Rexistrarse. Esqueceches o teu contrasinal?

Etiquetas

Saltar as etiquetas

Subscríbete ás RSS

Estás en:

BOM en UTF-8, que é?

30 Nov 2010 por Jose

Comentarios: 19

UTF-8

Algunha vez sucedeuvos que ao editar ficheiros que non foron creados por vós, ou probando nun servidor doutro sistema, aparezan carácteres estraños ao comezo do mesmo? ou ata que mostre erros porque xa se enviaron as cabeceiras, e non atopas onde sucede?

Non tes por que preocuparte, trátase do BOM que se utiliza en codificacións Unicode.

O uso da codificación de carácteres UTF-8 está estendéndose pola web gracias á súa compatibilidade con ASCII (calquera carácter ASCII mostraríase sen cambios) e ser capaz de representar calquera carácter Unicode. O BOM é un carácter 0xFEFF son a serie de caracteres 0xef 0xbb 0xbf que se coloca ao comezo dos arquivos e que se usa como marca para indicar que o texto está codificado en UTF-8; nun texto con codifcación ISO-8859-1 representaríase como "".

O significado real do carácter BOM é zero-width no-break space polo que non adoita aparecer na maioría das codificacións e aínda que o uso deste carácter en UTF-8 está desaconsellado ou non se recomenda, o seu uso non debería provocar problemas.

Por que se mostra entón na miña páxina web?

Dependendo da configuración do editor utilizado poida que engada de forma predeterminada o BOM ós ficheiros UTF-8. Isto pasa principalmente en aplicacións Windows que ó executalas en sistemas Linux adoitan interferir co proceso normal destas, por exemplo, en PHP comezando a enviar o BOM ó navegador, e evitando que as cabeceiras se especifiquen correctamente.

Como podo solucionalo?

Simplemente deberemos editar o ficheiro cun editor de texto que nos permita o cambio de configuración e gardaremos este con formato UTF-8 sen BOM. Editores como Dreamweaver, Zend Studio ou o editor gratuíto Notepad++ permiten esta operación.

Comentarios

19 comentarios. Comentar.

1. Carlos o 09 Mar 2012 ás 04:04:01

Gracias. Me sirvió mucho.

2. Ciul o 29 Mar 2012 ás 01:25:36

Gracias, me sirvió mucho.

Me estaba generando un espaciado con comillas " " en el HTML de mi sitio, por lo que me estaba corriendo la página.

3. Borias o 28 Ago 2012 ás 19:25:57

Genial, buena explicacion

4. Nita Kharsdala V. o 23 Dec 2012 ás 08:42:24

Gracias por la explicación.

5. Alejandro o 22 Ago 2013 ás 05:22:03

Gracias, no podría haber estado más claro.

6. Faustino o 16 Set 2013 ás 02:14:24

Me sirvió mucho, trabajo con gettext en windows y fedora y ya me tenían harto los errores de encoding

:-)

7. Anónimo o 03 Dec 2013 ás 19:02:18

Gracias. Muy claro.

8. carlos o 06 Dec 2013 ás 10:40:25

Hola, he codificado en UTF-8 sin BOM una base de datos para geolocalizarla en arcGIS. Al ver el mapa en un iPad o iPhone, aparece, en las letras acentuadas y ñ, el código html, correspondiente a esa letra. ¿qué hay que hacer para que se vea correctamente?

9. Luis o 12 Dec 2013 ás 13:12:48

Hola carlos.

La codificación de caracteres no convierte los mismos a código HTML. Si fuese un problema de codificación verías signos extraños. Si lo que ves son códigos HTML será porque en alguna parte de la aplicación se están conviertiendo los signos.

Un saludo.

10. mitxu o 19 Dec 2013 ás 11:20:17

Si en NOtepad++ indico UTF sin Bom, no me respeta acentos, etc...sin embargo si indico UTF-8 solvento el problema. Tiene algún problema posterior poner UTF-8?.

En el bloc de notas, cómo lo codifico? como UTF-8? 0 c´omo ANSI?

11. Luis o 19 Dec 2013 ás 11:47:54

Hola mitxu.

Siento decirte que no comprendo bien tu problema.

De lo que entiendo, dices que Notepad++ no te respeta los acentos si codificas en UTF-8 sin BOM pero sí si lo codificas en UTF-8 (con BOM). Eso en principio no es posible. La codificación es la misma (UTF-8). La diferencia es sólo si se añade BOM o no en el archivo. En Notepad++ se verán igual los archivos con y sin BOM. Los problemas pueden venir por otras aplicaciones que lean sólo con o sin BOM, pero no en Notepad++.

No puedo ayudarte más sin información adicional, porque no se si tu problema es que tienes un archivo en ANSI y lo quieres convertir a UTF-8, si quieres crear archivos directamente en UTF-8 y no sabes si ponerle o no BOM o si el problema es que el archivo generado no te funciona bien en otra aplicación.

Un saludo.

12. mitxu o 20 Dec 2013 ás 10:36:00

Muchas gracias por tu interes.

Soy novata en diseño web y he empezado a generar mis paginas tanto usando bloc de notas como notepad.

En el blocde notas, al guardar me pide una codificación, ¿Cuál es la correcta? ANSI o UTF-8?.

Si uso el notepad++ y lo codifico como UTF-8, al comprobar mi trabajo en elnavegador no hay problema,sin embargo he leido q es recomendable quitar el BOM para que no de probelmas en otras aplicaciones,pero si lo hago,en el navegador no aparecen ni acentos, ni "ñs" etc...No sé si se me entiende mejor ahora.

13. Luis o 20 Dec 2013 ás 11:03:06

Hola de nuevo mitxu.

Me alegro de ver que estás empezando en esto (y no utilizas Dreamweaver).

Supongo que cuando dices Notepad te refieres a Notepad++ (Notepad "a secas" es el bloc de notas).

Lo que preguntas de cuál es la codificación correcta, depende de qué codificación quieras usar en tu página web. Si vas a usar UTF-8, pues esa. Si vas a usar ISO-8859-1 (Latin 1), utiliza ANSI.

Sobre lo que dices de que si quitas el BOM no se ve bien, puede haber dos causas:

1.- En Notepad++ utiliza la opción "Convertir a UTF-8 sin BOM" no uses "Codificar en UTF-8 sin BOM".

2.- Tu archivo está en UTF-8 sin BOM pero en navegador lo está sirviendo como ISO-8859-1 (que es lo que hace por defecto para español) porque no sabe qué codificación debe usar (si tiene BOM ya sabe que es UTF-8). Para arreglar eso deberías indicarle al navegador que debe usar UTF-8. Esto puedes hacerlo cambiando la configuración del servidor o con una meta en el HTML como indican en este enlace: http://blogs.ua.es/webdev/2009/06/25/problemas-de-codific...

Un saludo.

14. Anónimo o 25 Abr 2014 ás 20:42:20

De muchisima ayuda!

15. Anónimo o 18 Dec 2014 ás 00:47:26

Muy buen aporte, muy útil...

16. cristian-tc o 28 Out 2015 ás 12:13:31

Hola, gracias por la aclaración.

17. Anónimo o 27 Dec 2015 ás 14:47:11

Byte Order Mark (BOM) es un carácter que indica la ordenación de los bytes en un flujo de caracteres Unicode.

18. Anónimo o 23 Dec 2016 ás 00:15:10

Genero un archivo csv desde oracle que esta AL16UTF16 y quiero convertirlo a utf8 sin boom

19. FGE o 02 Xuñ 2017 ás 12:58:52

Muchísimas gracias. Me resolvió el problema. Un plugin me cambió un archivo y me lo codificó en UTF-8 BOM

Comentar

Comentar de forma anónima

Podes comentar poñendo calquera nome ou alcume, exceptuando os nomes de usuarios rexistrados. Máximo de 50 caracteres.

Comentar como usuario rexistrado

Rexistrarse. Esqueceches o teu contrasinal?