Foros del Web » Programando para Internet » PHP »

comenzar proyecto UTF-8, ISO-8859-1, UNICODE

Estas en el tema de comenzar proyecto UTF-8, ISO-8859-1, UNICODE en el foro de PHP en Foros del Web. Saludos... he leido ya bastante sobre las codificaciones... pero quizas no lo he entendido muy bien... asi que recurro aki :D para comenzar una web ...
  #1 (permalink)  
Antiguo 20/12/2005, 11:19
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
comenzar proyecto UTF-8, ISO-8859-1, UNICODE

Saludos...
he leido ya bastante sobre las codificaciones... pero quizas no lo he entendido muy bien... asi que recurro aki :D

para comenzar una web que codificacion es mejor usar?
- en muchas webs dicen que ISO-8859-1 o Latin1 si es una web eb español
- en otras, UTF-8 que no da problemas con las caracteres de nuestro idioma (á, é, ..., ñ,.. , etc)
- y en otra que UNICODE, porque es el standar y que engloba a las dos anteriores....

ahora otro asunto... si uso por ejemplo UTF-8 y comienzo mi XHTML asi:
<?xml version="1.0" encoding="UTF-8"?>
es necesaria y obligatoria todavía esta especificación:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

y otro asunto.. es que al momento de guardar los ficheros de texto...
los debo guardar de acuerdo a la codificacion que use cierto?
si elijo UTF-8 debo guardarlo en UTF-8 y si elijo ISO-8859-1 debo guardar el archivo en ese formato... pero los editores no poseen dicho formato, sólo UTF-8 y ANSI y demás... PHP usa algun tipo de codificacion para manejar las cadenas, que se tuviera que tomar en cuenta?

tambien otra cosa:
he leido que los datos que se envían a través de los metodos POST o GET tienen diferente codificacion y dependen del navegador, también dependen de cómo las reciba el servidor... y que se pueden forzar a que usen sólo un tipo de juego de caracteres para no tener problemas... y eso cómo se hace?

y otro:
con la base de datos, el juego de caracteres debe ser el mismo que el que se elija como general... cómo?

en realidad ha bastantes líos más con los que me he encontrado haciando páginas...

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #2 (permalink)  
Antiguo 20/12/2005, 12:10
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Si, los líos suelen ser muchos. Ahora, si tu proyecto es en ingles, español y no mucho mas, no te compliques y usa el ISO (europeo occidental) que es default nuestro (por así decirlo).
Si por necesidad (Lease Ruso, Japones, y demás idiomas) necesitas usar un encodig diferente, te puedo recomendar que uses Unicode utf8, para eso, deberás (o al menos lo que yo he usado con éxito):
1- Poner el meta tag html indicando el utf8. (zmeta http-equiv="Content-Type" content="text/html; charset=UTF-8" />)
2- Guardar la pagina como tal (Dreamweaver posee muchos encodings en modify>page properties>Title Encodign>encoding )
4- Si los datos son dinámico tu db deberá están en utf8, sus tablas y sus campos (mysql 4.1>), y hasta setear el conexion con este encoding usando:
mysqli_query($conn, "SET NAMES utf8");
mysqli_query($conn, "SET CHARACTER SET uft8");
O bien (depende de tu config)
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET uft8");
5- Y por ultimo siempre le pongo a php el encoding para que interpete este como tal con de la siguiente manera:
header("Content-type: text/html; encoding: UTF-8");
Tambien tenes funciones como:
iconv_set_encoding('internal_encoding', 'utf-8');

El tema de parámetros y demás debería estar solucionado con esto.

Espero que te haya sido de ayuda esto.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 20/12/2005, 16:43
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
y bueno... en conclusión para que una web en UTF-8 no tenga problemas, debería?

1. iniciar los XHTML con:
<?xml version="1.0" encoding="UTF-8"?>
...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

2. guardar todos los ficheros (php,css,tpl,inc) en formato UTF-8

3. poner en los PHP: header("Content-type: text/html; encoding: UTF-8");

4. crear la base de datos en formato UTF-8

5. setear el conexion con este encoding usando:
mysql_query($conn, "SET NAMES utf8");

6. ...

alguna otra cosa a tener en consieración?
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #4 (permalink)  
Antiguo 21/12/2005, 07:25
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
<?xml version="1.0" encoding="UTF-8"?>
No es para un document xml?


El resto si, con eso a mi me ha sobrado.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 21/12/2005, 09:55
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
XHTML 1.1 strict es un documento XML perfectamente valido

ahora me queda otra duda...

si tengo mi XHTML en UTF-8

debo escribir:
asi?: <p>no más este año</p>
o así? <p>no m&aacute;s este a&ntilde;o</p>

... :D
__________________
Si digo que soy mentiroso. ¿Lo soy?
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 07:06.