Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/01/2009, 04:17
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: problema con los acentos y las Ñ

Hola,

Cita:
Iniciado por monoswim Ver Mensaje
... Si lo guardas como ISO se ve bien, si lo guardas como UTF se ve mal, lo mismo pasa en linux al guardar los archivos de texto ...
Ni Windows, ni Linux, ni Flash tienen ese problema.
(Ni PHP, ni Java, ni MySQL, ni SQL Server, etc., etc., etc.)

Para comprobarlo usa un editor de texto que permita claramente convertir de un formato a otro ... como Notepad++ Win ó gEdit en Linux.

Cita:
Iniciado por jam1138 Ver Mensaje
Claro que es así ...
¿Qué distribución Linux manejas? ... eso es raro, porque si algo se habría esperar de Linux es que manejase UTF-8, al contrario de Windows que maneja ISO-8859-1 (para su versión en español).
Linux tiene mejor soporte UTF que Windows y otros sistemas operativos (Mac, etc) (Opinion personal). Inclusive la configuración predeterminada en casi todas las aplicaciones es UTF.

Cita:
Iniciado por jam1138 Ver Mensaje
... La situación con aquel y este tema es que si vas a trabajar con UTF-8, ¡entonces trabaja con UTF-8!, desde cómo se guarda el archivos (cualquier tipo de archivo) y, en este y el otro caso, como se lee e interpreta la información (el lenguaje debe poder trabajar con UTF-8, todo lenguaje moderno --incluyendo PHP, ¡XML!!, por el otro tema; no sé si Flash pueda y/o tenga funciones especiales para su manejo) y cómo se presenta (se debe servir como UTF-8) y se vuelve a interpretar (el cliente debe poder leerlo).
Exactamente.


El problema y la solución es simple, así como dice jam1138. Los documentos se guardan en bytes, (simples 8 bits); pero eso solo alcanza para 256 caracteres, los cuales no son suficientes para todos los lenguajes y símbolos. Así que actualmente hay codificaciones como UTF-8 que utilizan más de 1 byte para 1 letra.

Si creas un documento y lo guardas en formato UTF, aunque le pongas ISO en el encabezado, sigue y va a seguir siendo un documento UTF. Y si lo guardas en ISO, aunque le pongas 1000 veces un encabezado UTF, va a seguir siendo un documento ISO.

La diferencia no está simplemente en el encabezado, que pongas "este es un documento UTF", no lo convierte en UTF, va a seguir guardando los bytes como están escritos.

Estos son los bytes que están almacenados en un ISO:

Código:
"3C 74 61 67 3E E1 E9 ED-
F3 FA 3C 2F 74 61 67 3E-
|<tag>áéíóú</tag>                |"
Mientras que la misma línea en UTF, los bytes son más:

Código:
"3C 74 61 67 3E C3 A1 C3-
A9 C3 AD C3 B3 C3 BA 3C-2F 74 61 67 3E
|<tag>áéíóú</tag>           |"
¿Se nota la diferencia?

Si al UTF le escribes un encabezado ISO, el browser piensa que 1 byte es 1 letra, y no salen las tíldes, salen otros caracteres específicos de la tabla ISO, que es diferente a la tabla UTF.

Saludos.