Foros del Web » Programando para Internet » PHP »

AYUDA! Archivo PHP cambia el juego de caracteres de la DB

Estas en el tema de AYUDA! Archivo PHP cambia el juego de caracteres de la DB en el foro de PHP en Foros del Web. Hola a todos! Les paso a detallar mi problema. Resulta que subí un archivo .php a mi web para hacer funcionar un MOD de estadíticas. ...
  #1 (permalink)  
Antiguo 19/09/2009, 20:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 61
Antigüedad: 15 años, 1 mes
Puntos: 0
AYUDA! Archivo PHP cambia el juego de caracteres de la DB

Hola a todos! Les paso a detallar mi problema.

Resulta que subí un archivo .php a mi web para hacer funcionar un MOD de estadíticas. El MOD funciona excelente pero hay un pequeño gran problema con Internet Explorer: este navegador muestra signos en vez de acentos o eñes... es como si ese archivo .php cambiara el juego de caracteres (me refiero a eso del UTF-8 Unicode, cp1251_general_ci, etc.) solo en Internet Explorer.

Este asunto me molesta mucho porque ya había tenido problemas con el juego de caracteres de la BD. Y además es algo que particularmente odio en las páginas que visito porque queda muy mal.

Estoy seguro de que este archivo .php es el responsable de este error porque si lo quito, los caracteres se ven correctamente (pero el MOD no funciona, obviamente).

He estado mirando el codigo de mi archivo .php y no soy capáz de identificar el problema porque no entiendo mucho este lenguaje!

A continuación, el contenido de dicho archivo:
mediafire.com/?mjmnmbutfk3

Por favor, si alguien sabe la línea donde está el error les estaría eternamente agradecido!

Un saludo a todos!
  #2 (permalink)  
Antiguo 19/09/2009, 21:12
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: AYUDA! Archivo PHP cambia el juego de caracteres de la DB

Usa los headers indicando que es utf-8
Código PHP:
Ver original
  1. header('Content-Type: text/html; charset=utf-8');
Y en el html usa los meta indicando que es utf-8
Código html:
Ver original
  1. <meta http-equiv="content-type" content="text/html;charset=utf-8" />
El archivo debes tambien codificarlo a UTF-8 without BOM. Eso lo puedes lograr usando alguna herramienta de edición como por ejemplo Notepad++
Y si no te funciona usa las funciones de PHP
Código PHP:
Ver original
  1. utf8_decode($text);
  2. //o
  3. utf8_encode($text);
__________________
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 19/09/2009, 21:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 61
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: AYUDA! Archivo PHP cambia el juego de caracteres de la DB

Gracias abimaelrc!!!!!!!
Solucionaste mi problema! Muchas gracias, de verdad!
  #4 (permalink)  
Antiguo 19/09/2009, 21:40
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: AYUDA! Archivo PHP cambia el juego de caracteres de la DB

¿Cual era?
__________________
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 20/09/2009, 12:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 61
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: AYUDA! Archivo PHP cambia el juego de caracteres de la DB

Hice los dos primeros pasos que me detallaste! Usé headers indicando que es utf-8, tanto en el archivo PHP como en el HTML. El tercer paso no fue necesario!
Gracias de nuevo, amigo.
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 04:53.