PHP - PROBLEMA CON LA LETRA Ñ

 
Vista:

PROBLEMA CON LA LETRA Ñ

Publicado por DIEGO (2 intervenciones) el 03/06/2010 20:53:20
HOLA

En una base de datos tengo 500 nombres algunos con la letra ñ, el campo tiene un "cotejamiento" q no se que es, de utf8_general_ci.

al momento de hacer consultas en ves de la Ñ me sale un "?"

que debo hacer?, es problema de programacion?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA CON LA LETRA Ñ

Publicado por Andres (52 intervenciones) el 04/06/2010 01:53:56
"La discriminada Ñ!!"

Hola Diego, yo tuve el mismo problema y lo solucioné de la siguiente manera:

1 - Si el juego de caracteres de la BD es utf8_general_ci, en la página de visualización debe estar el meta con dicha config:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

2 - si es un script PHP, utilizar:
header('Content-Type:text/html; charset=utf-8');

la idea es configurar todo con el mismo juego de caracteres, tanto la BD, como el script PHP y el HTML.

Hace un tiempo incorporé en los script PHP lo siguiente para tratar de configurar en tiempo de ejecución el php.ini:

iconv_set_encoding("internal_encoding", "utf-8");
iconv_set_encoding("input_encoding", "utf-8");
iconv_set_encoding("output_encoding", "utf-8");

(http://www.php.net/manual/es/function.iconv-set-encoding.php)

Y todo me funcionó a la perfección.

Lo que debés tener en cuenta es que si en la BD que tienes están "MAL" guardados, es decir con otro juego, vas a tener que emparchar a la hora de imprimir en pantalla con las funciones de PHP utf8_encode() y utf8_decode(), dependiendo el caso.

Espero que lo soluciones.

Saludos.
Andrés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON LA LETRA Ñ

Publicado por DIEGO (2 intervenciones) el 04/06/2010 04:31:55
MUCHAS GRACIAS ME SIRVIO!
el codigo q me dijo:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
Ya lo tenia mi pagina,
lo que hice fue utilizar el utf8_encode() cuando los voy a mostrar en la pagina web, ya que efectivamente estan mal en la base de datos.

ahi alguna forma de arreglarlos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON LA LETRA Ñ

Publicado por Andres (52 intervenciones) el 04/06/2010 05:00:59
Lo que se me ocurre es programar un script en PHP y realizar un UPDATE en la BD:

El script haría lo siguiente:
extraer el campo con una consulta y voverlo a insertar pasandolo por utf8_encode() o utf8_decode() (ver cual de los dos)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar