Foros del Web » Programando para Internet » PHP »

Problema con charset

Estas en el tema de Problema con charset en el foro de PHP en Foros del Web. Hola, tengo un problema con el charset con PHP5 y MySQL 5.0 por una configuración del hosting (creo) donde alojo mi página. El tema es ...
  #1 (permalink)  
Antiguo 11/03/2010, 23:04
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
Problema con charset

Hola, tengo un problema con el charset con PHP5 y MySQL 5.0 por una configuración del hosting (creo) donde alojo mi página.
El tema es así, les comento lo que he hecho hasta el momento. En la tablas de la base de datos indiqué en collation "utf8_spanish2_ci" (en teoría debería estar bien) he indiqué en el meta de la página "charset=UTF-8".
Aún así sigue haciendo cosas raras. Me explico con más detalle:
  • Teniendo en el charset "UTF-8", al insertar en la página un texto recuperado de la base de datos anda perfecto (me toma "ñ" y acentos). Pero al poner una palabra con php, como puede ser
    Código PHP:
    echo "administración"
    me cambia los acentos por signos raros.
  • Teniendo en el charset "ISO-8859-1" al insertar en la página un texto recuperado de la base de datos anda mal (me cambia los acentos y "ñ" por signos raros). Pero al poner una palabra con php anda joya.
Despues de quemarme el marote un buen rato me topé con un post que hablaba de una configuración en el archivo "php.ini" en la que se supone tengo que poner el juego de caracteres con la que quiero que el php trabaje. La constante se llama "default_charset". Ahí viene el problema del hosting.
El hosting no me da permisos para modificar ese constante y establecerle algún valor.

Y ahora por fín la pregunta... Alguien sabe como arreglo este quilombo
  #2 (permalink)  
Antiguo 11/03/2010, 23:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema con charset

Debes indicar los header, meta, archivo y base de datos como utf8.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/03/2010, 23:22
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con charset

La base de datos ya esta como UTF-8 y los metas están con UTF-8 también.
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	...
</head>


<body>
	...
</body>
</html> 
pero ¿a que te referís cunado hablas de "archivo"?

Última edición por gammassp; 11/03/2010 a las 23:55
  #4 (permalink)  
Antiguo 11/03/2010, 23:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema con charset

Debes codificar el archivo a que sea utf8 sin BOM. Te falta indicar tambien el header que sea utf8.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 12/03/2010, 00:34
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con charset

Bueno, sigo igual... ya le agregué el header:
Código PHP:
header("Content-Type: text/html; charset=UTF-8"); 
pero no cambió nada.
Les pongo un ejemplo para que vean más o menos lo que me hace:
Código PHP:
echo $fila["nombre"]." - "."Administración";
//$fila["nombre"] es el resultado de una consulta a la base de datos.
//Simple lo vuelco a la variable con mysql_fetch_assoc(). 
Asi lo presenta:
Código HTML:
Administración - Administraci�n
La verdad estoy mareado... un alma caricativa que mesaque de mi agonía por favor
  #6 (permalink)  
Antiguo 12/03/2010, 01:17
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Problema con charset

El error ahora está en el archivo .php, que está codificado en otro charset diferente a utf8 (posiblemente codificado con ansi), te sugiero que uses notepad++ http://notepad-plus.sourceforge.net o algún otro editor que te permita cambiar el charset del archivo php a utf8 (ansi sin bom, ansi as utf8)
  #7 (permalink)  
Antiguo 12/03/2010, 01:45
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
Respuesta: Problema con charset

Uhhh chabón sos un groso. Ya me tenía loco esto. Aparentemente cuando subí los archivos al hosting, cliente ftp mediante, se me crearon como ANSI en vez de como UTF-8.
Si no me decias anda a saber cuando me avivaba

Etiquetas: charset
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 20:02.