Foros del Web » Creando para Internet » HTML »

utf-8 o iso-8859-1 ?

Estas en el tema de utf-8 o iso-8859-1 ? en el foro de HTML en Foros del Web. En mi aplicación web he realizado cambios para que la codificación sea con utf-8, pero me da la sensación de que se ha relentizado bastante. ...
  #1 (permalink)  
Antiguo 14/06/2010, 15:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta utf-8 o iso-8859-1 ?

En mi aplicación web he realizado cambios para que la codificación sea con utf-8, pero me da la sensación de que se ha relentizado bastante. ¿Es esto normal al utilizar más variables de codificación? ¿Puesto que en principio la web sólo deberia de estar operativa en España debería de volver a la codificación iso-8859?

Un saludo
  #2 (permalink)  
Antiguo 14/06/2010, 16:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: utf-8 o iso-8859-1 ?

yo diria que dado tu localizacion, utilices utf-8. no veo como la codificacion puede afectar el rendimiento salvo si usas funciones para siempre convertir el contenido. es decir, deberias de estrictamente almacenar el contenido en utf-8 y no siempre depender -solo cuando sea neceasrio, claro- de funciones para intercambiar codificacion. o sea, no es lo mismo cuando el contenido ya esta preparado para una codificacion comparado a siempre tener que procesar el contenido. aclaro que esa es mi opinion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 14/06/2010, 23:31
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 15 años, 6 meses
Puntos: 30
Respuesta: utf-8 o iso-8859-1 ?

Aver si te ayuda en algo esto que hice recien :P
http://www.documentoweb.com/ISO-8859...-de-caracteres
Aunque nunca he pasado por algo similar.
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #4 (permalink)  
Antiguo 15/06/2010, 01:09
Usuarios466
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: utf-8 o iso-8859-1 ?

Null_ apúntate un 10.

Justo la semana pasada di el salto en mi página web de iso-8859-1 a utf-8 y la verdad es que no me arrepiento de nada, porque antes tenía que añadir á a todos los acentos, a las eñes, exclamaciones e interrogantes (sí, diseñaba a pelo con el bloc de notas), y ahora es un lujo escribir tal cual con acentos y todo. Lo que digo, llevo unos cuatro días con utf-8 y estoy muy contento.

Decir que no he tenido problemas de codificación, es decir, de salirme caracteres extraños, porque un amigo ya me avisó anteriormente de que la clave está en guardar el archivo sin BOM.

Tengo un dato que alomejor no sabías.

El boc de notas, como sabes, guarda siempre con BOM, por lo que ya no me sirve como editor, y me he pasado al Notepad++ como bien dices en tu tutorial, pero el primer día que me pasé de codificación, copié y pegué un texto de internet con acentos, eñes y demás, y lo guardé con el bloc de notas y lo subí por FTP, y cual fue mi sorpresa que todos los caracteres se veían correctamente. ¿Sabes el por qué? Pensaba que el bloc de notas guardaría sin BOM y daría problemas en los acentos tipo: Dise?o ó DiseÄ_o pero nada más lejos de la realidad.

Última edición por Usuarios466; 22/02/2012 a las 08:40
  #5 (permalink)  
Antiguo 15/06/2010, 02:02
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Respuesta: utf-8 o iso-8859-1 ?

Muchas grácias a los 3.

Ya casí lo tengo claro. Ahora tan sólo tengo un problemilla; os cuento primero que es lo que he hecho par ver si estoy en lo correcto:

1.- Cree la base de datos de nuevo con cotejamiento UTF-8
2.- Inserte todas la tablas con charset=utf-8
3.- Todas las páginas web tienen las cabeceras de la siguiente forma:
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  2.  <meta http-equiv="Content-Language" content="es" />
4.- Guardé las páginas web con codificación utf-8 para la correcta visualización del texto.


Cita:
Iniciado por zerokilled Ver Mensaje
yo diria que dado tu localizacion, utilices utf-8. no veo como la codificacion puede afectar el rendimiento salvo si usas funciones para siempre convertir el contenido.
De momento no codifico la información ni antes de introducirla a la DDBB ni después para mostrarla. Pero cuando visualizo los datos de la DDBB las eñes, acentos, etc no se muestran correctamente; en cambio los acentos y eñes embedidos en la página si se muestran correctamente. ¿Que puedo tener mal??
  #6 (permalink)  
Antiguo 15/06/2010, 02:10
Usuarios466
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: utf-8 o iso-8859-1 ?

Con esto del utf-8 lo único que no tengo claro es lo que creo que te está pasando a ti.

Es decir, pueden haber varios problemas: que la web se visualice bien, es decir, los acentos, eñes, etc, pero que luego si entras en el código fuente, allí es donde los acentos y eñes se ven mal. O que pase a la inversa, que los acentos se vean mal en el código fuente pero bien en la web. ¿Esto por qué puede ocurrir?

A parte de guardar y poner la codificación en utf-8 en un meta, intenta ver que al guardar lo hagas sin BOM, es muy importante.

Por otra parte, para salir de dudas para saber si el código de determinada web se ven bien los acentos, eñes, y tal, lo que hago es verlo mediante una página web, que es lo que ve a los ojos de un spyder, robot, etc, de los que pululan por internet:

Seo Browser.

Última edición por Usuarios466; 22/02/2012 a las 08:40
  #7 (permalink)  
Antiguo 15/06/2010, 02:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Respuesta: utf-8 o iso-8859-1 ?

Cita:
Iniciado por Juan Ca Ver Mensaje
Es decir, pueden haber varios problemas: que la web se visualice bien, es decir, los acentos, eñes, etc, pero que luego si entras en el código fuente, allí es donde los acentos y eñes se ven mal. O que pase a la inversa, que los acentos se vean mal en el código fuente pero bien en la web. ¿Esto por qué puede ocurrir?
Los caracteres se visualizan igual en la web que en el código fuente. ¿Puede que tenga que codificar los datos pasados del formulario previa inserción a la DDBB? Pq la codificación aunque este en utf-8 no se mantiente entre el paso de variables entre páginas. O justo lo contrario, aplicar dicha función antes de imprimir la info en pantalla:

Código PHP:
Ver original
  1. mysql_query("SET NAMES 'UTF-8'");

Cita:
Iniciado por Juan Ca Ver Mensaje
A parte de guardar y poner la codificación en utf-8 en un meta, intenta ver que al guardar lo hagas sin BOM, es muy importante.
Estoy utilizando el UTF-8 without BOM.
  #8 (permalink)  
Antiguo 15/06/2010, 09:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: utf-8 o iso-8859-1 ?

Cita:
Iniciado por Juan Ca Ver Mensaje
la verdad es que no me arrepiento de nada, porque antes tenía que añadir &aacute; a todos los acentos, a las eñes, exclamaciones e interrogantes [...], y ahora es un lujo escribir tal cual con acentos y todo.
ese lujo tambien lo puedes tener con iso-8859-1. no es que quiera defender a iso-8859-1 por encima de utf-8. mi insistencia es porque muchas de las referencias que encontramos acerca de los charset iso-8859-1 y utf-8 nos hacen entender algo que no es. mucho se dice que en iso-8859-1 estamos obligados a usar entidades html para representar acentos, eñe y otros caracteres lo cual es totalmente falso. me parece que mucha de la desinformacion viene a falta de un entendimiento a nivel tecnico acerca de los charset. basicamente se puede resumir de la siguiente forma. primero observar los caracteres que corresponde a iso-8859-1. [tambien puedes consultar en la entidad oficial el documento PDF] si observaron detenidamente debieron fijarse que los acentos y eñe son parte del charset. ¿que significa eso? que podemos escribir los contenidos directamente por sus caracteres sin necesidad de recurrir a las entidades html.

notas adicionales.
en el caso de usuarios de sistemas windows y que su copia sea una distribucion de estados unidos de america, debe tener mucho cuidado en no confundir iso-8859-1 con windows-1252 (tambien conocido como ANSI). windows-1252 es un derivado de iso-8859-1 con la diferencia que se incluyen otros caracteres o controles en aquellas posiciones que iso-8859-1 no ocupa. o sea, desde la posicion 0x00-0x1F y 0x7F-0x9F. lo que significa que por lo general los programas de windows utilizan ANSI en lugar de Latin-1 (tambien se le conoce asi a iso-8859-1). no estoy seguro si es idependientemente de la distribuccion de windows o si otros paises tambien se ven afectado por esto. por lo menos en mi caso mi pais utiliza la misma distribuccion de estados unidos de america.

por otro lado, esto no le quita valor a utf-8. la ventaja de unicode a diferencia del resto de las codificaciones es que unicode incluye en su tabla soporte para muchos caracteres de distintos sistemas de escritura.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 15/06/2010, 12:02
Usuarios466
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: utf-8 o iso-8859-1 ?

Cita:
Iniciado por zerokilled Ver Mensaje
ese lujo tambien lo puedes tener con iso-8859-1.
Cierto, como poderse, también se pueden emplear acentos, pero a la hora de ver las palabras con acentos o con eñes, interrogaciones, exclamaciones, etc, a los ojos de los robots y spyders, se ven mal, ya que esa codificación no lee los acentos puros y duros, por eso, si hablamos de forma estricta y correcta, se ponen "esas letras raras" en iso-8859-1.

Última edición por Usuarios466; 22/02/2012 a las 08:40
  #10 (permalink)  
Antiguo 15/06/2010, 12:48
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: utf-8 o iso-8859-1 ?

Respecto al punto que decia que los datos de la DDBB se ven mal, según en otros posts, es porque el servidor viene con la codificación charset iso-8859-1 por defecto y al imprimir los datos por pantalla el script entiende que los datos a leer y mostrar están codificados en iso-8859-1 y no utf-8, por mucho que tengamos los archivos codificados con utf-8 y hayamos añadido las cabeceras de utf-8. Por tanto, si no se tiene acceso al fichero .htaccess para cambiar la codificación charset del servidor, será necesario utilizar la propiedad, en php,

Código PHP:
Ver original
  1. mysql_query("SET NAMES 'utf-8'")

...justo antes de realizar la query.

Alguien puede validar lo que he dicho?¿Estoy en lo cierto verdad?

Grácias
  #11 (permalink)  
Antiguo 15/06/2010, 13:16
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: utf-8 o iso-8859-1 ?

Cita:
[...] a los ojos de los robots y spyders, se ven mal, ya que esa codificación no lee los acentos puros y duros[...]
sin animos de ofensa, la verdad que no se de que hablas. quizas te refieres a otra cosa y yo no lo he entendido. si es el caso te pido que lo expliques. ¿sabes en que codificacion forosdelweb sirve los documentos? mientras tanto, ¿como tu crees que google ve a forosdelweb? u otros buscadores como bing, yahoo, altavista. en estos ultimos tres, el buscador muestra el contenido en utf-8 y no conflige con la representacion de acento y eñe de busqueda en forosdelweb, aun FDW teniendo un charset distinto.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #12 (permalink)  
Antiguo 15/06/2010, 13:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: utf-8 o iso-8859-1 ?

Hola Zerokilled,

¿Tienes una respuesta a mi pregunta?

Grácias
  #13 (permalink)  
Antiguo 15/06/2010, 13:33
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: utf-8 o iso-8859-1 ?

no te puedo responder porque base de datos y php son areas que aun no domino. fijate que estas en el foro HTML y todo lo que trato de discutir es respecto a la creacion de los documentos como tal con procesadores de palabras.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #14 (permalink)  
Antiguo 15/06/2010, 13:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: utf-8 o iso-8859-1 ?

Ok. Era por si a caso!! No problem

Grácias
  #15 (permalink)  
Antiguo 15/06/2010, 14:31
Usuarios466
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: utf-8 o iso-8859-1 ?

Cita:
Iniciado por zerokilled Ver Mensaje
sin animos de ofensa, la verdad que no se de que hablas. quizas te refieres a otra cosa y yo no lo he entendido. si es el caso te pido que lo expliques.
Date una vuelta por el enlace que os propongo en mi segunda participación en este hilo. Quizá me entiendas después.

Última edición por Usuarios466; 22/02/2012 a las 08:40
  #16 (permalink)  
Antiguo 16/06/2010, 20:25
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 15 años, 6 meses
Puntos: 30
Respuesta: utf-8 o iso-8859-1 ?

Cita:
Iniciado por cocodj69 Ver Mensaje
Respecto al punto que decia que los datos de la DDBB se ven mal, según en otros posts, es porque el servidor viene con la codificación charset iso-8859-1 por defecto y al imprimir los datos por pantalla el script entiende que los datos a leer y mostrar están codificados en iso-8859-1 y no utf-8, por mucho que tengamos los archivos codificados con utf-8 y hayamos añadido las cabeceras de utf-8. Por tanto, si no se tiene acceso al fichero .htaccess para cambiar la codificación charset del servidor, será necesario utilizar la propiedad, en php,

Código PHP:
Ver original
  1. mysql_query("SET NAMES 'utf-8'")

...justo antes de realizar la query.

Alguien puede validar lo que he dicho?¿Estoy en lo cierto verdad?

Grácias
Yo hago lo mismo. Es muy útil =).
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #17 (permalink)  
Antiguo 16/06/2010, 22:02
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: utf-8 o iso-8859-1 ?

Cocodj:

Hace un tiempo tuve un problema similar con una bd, me volvi loco pasandole headers, con el apache, el php y la codificacion en la BD y no habia caso, pude resolverlo haciendo lo siguiente,
para presentar los datos

Código PHP:
print "<li $color><b>" $row['Idm'] . ' </b>' .  utf8_decode($row['USUARIO']) .'<br />'utf8_decode($row['IP']) . '-' utf8_decode($row['NOMBRE']) . "</li>\n"
Para introducirlos
Código PHP:
$ip=utf8_encode("$ip");
$nombre utf8_encode("$nombre");
$usuario=utf8_encode("$usuario");

    
/*** INSERTAr datos ***/
    
$count $dbh->exec("INSERT INTO MAQUINAS(USUARIO, NOMBRE, IP ) VALUES ('$usuario', '$nombre','$ip')"); 
utf8_encode() y utf8_decode() fueron la solucion. Supongo que lo que dice Null acerca de
Código PHP:
mysql_query("SET NAMES 'utf-8'"
hace algo similar.

bueno, es una idea.
Saludos
  #18 (permalink)  
Antiguo 17/06/2010, 01:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: utf-8 o iso-8859-1 ?

Muchas Grácias por la respuesta!!

Yo ya lo tengo solucionado

No hace falta utilizar dichas funciones de php. Simplemente añade estas lineas al fichero de configuración de mysql my.cnf

Código MySQL:
Ver original
  1. character-set-server=utf8
  2. collation-server=utf8_general_ci
  3. default-character-set=utf8
  4. skip-character-set-client-handshake

Las dos primeras directivas son para que MYSQL cuando vaya a crear una base de datos por defecto tenga la codificación utf-8 ( no son necesarias; es por comodidad a la hora de crear bases de datos )

La dos últimas líneas son para que cuando se impriman los datos de la query lo realice bajo el formato utf-8 consiguiendo el mismo efecto que SET NAMES 'utf-8'o en tu caso las funciones utf-encode/decode. Por mucho que tengamos configurado los archivos de la web, la DDBB en utf-8 Mysql realiza las conexiones ( queries ) con el formato iso-5589-1, y es por eso que tenemos que aplicar las últimas dos lineas!!

Pero para que todo esto funcione tanto la DDBB como los archivos de la web tienen que utilizar el charset utf-8, así como guardar dichos archivos de la web con formato utf-8 sin bom ( notepad++)

Te dejo un link muy útil de MYSQL ( inglés ):

http://dev.mysql.com/doc/refman/5.0/...lications.html

Por cierto, cuando aplicas la funcion utf8_encode para guardar los datos en DDBB, como se almacenan las ñ's y los acentos??? ¿Como tales verdad?
  #19 (permalink)  
Antiguo 17/06/2010, 07:38
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: utf-8 o iso-8859-1 ?

mira este ejemplo, esta hecho con Sqlite, pero creo que el concepto se debe aplicar a MySql., lo que sucede es que generalmente si uso MySql, dejo que el cotejamiento lo haga el PhpMyadmin...

http://foros.emprear.com/sqlite/extraer.php

(Poer supuesto, lo de guardar los archivos en el formato correcto con el Editor de texto es fundamental, y que el navegador tenga la codificación en auto...., cuantos peros, verdad)

Saludos
  #20 (permalink)  
Antiguo 17/06/2010, 09:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: utf-8 o iso-8859-1 ?

La verdad es que es un quebradero de cabeza esto de las codificaciones!!

Al final sólo utilizo utf8_encode para insertar texto procedente del editor de texto ( en mi caso TinyMCE - Aparentemente no códifica el texto a utf-8 ) y para imprimirla no le aplico la función decode, para los inputs de texto no les aplico la función ni para guardar ni para imprimir.

Tu que editor utilizas?
  #21 (permalink)  
Antiguo 17/06/2010, 10:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: utf-8 o iso-8859-1 ?

normalmente utilizo el Ultraedit
http://www.ultraedit.com/downloads/u..._download.html (tiene una version en español)

otro que te recomiendo, un poco más sencillo y freeware,
http://www.flos-freeware.ch/notepad2.html

Ambos para Windows (Win7 x64 en mi caso)


Creo que ese editor que usas es un WYSIWYG hecho para usar desde el navegador. No creo que resulte muy práctico para hacer lo que quieres.


saludos

Última edición por emprear; 17/06/2010 a las 10:13

Etiquetas: iso, utf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.