Foros del Web » Programando para Internet » PHP »

Campo de texto con tildes, problema al imprimirlos en una Web

Estas en el tema de Campo de texto con tildes, problema al imprimirlos en una Web en el foro de PHP en Foros del Web. Tengo una tabla en la cual tengo un campo de texto. Código: Al crear la tabla utilice esto: CREATE TABLE tabla (nombre TEXT); Al ingresar ...
  #1 (permalink)  
Antiguo 24/04/2007, 19:36
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Campo de texto con tildes, problema al imprimirlos en una Web

Tengo una tabla en la cual tengo un campo de texto.

Código:
Al crear la tabla utilice esto:

CREATE TABLE tabla (nombre TEXT);

Al ingresar un dato a la tabla hice esto:

INSERT INTO tabla (nombre) VALUES ('Hola como estas? á é í ó ú?');

Al buscarlo en la tabla hice esto:

SELECT nombre FROM tabla;

Me lo mostró de la siguiente manera:

|nombre|
----------------------------
|Hola como estas? á é í ó ú?|
----------------------------

Todo va bien hasta que al quererlo ver a traves de una web, hice esto: 

$squery = "SELECT nombre from tabla";
$result = mysql_query($squery);

$row = mysql_fetch_array($result, MYSQL_ASSOC);

echo $row['nombre'];

y me lo mostró de la siguiente manera en la página Web:

hola como estas?  ‚ ¡ ¢ £ ?
Ahora, se que debemos especificar los codes que vamos a utilizar en nuestra web, pues yo especifique este:

Código:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
y me da el mismo resultado, que debo hacer?? o al menos que debo intentar hacer?? Agradecimientos por adelantado!!!!
  #2 (permalink)  
Antiguo 25/04/2007, 07:15
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Hola proba poniendo asi el echo:
Código PHP:
echo"Nombre: " $row["nombre"]; 
Saludos.
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 25/04/2007, 07:46
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Movido desde BD a PHP.
Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 25/04/2007, 08:15
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

ya has probado usando
Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 25/04/2007, 08:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

tambien puedes usar la funcion utf8_encode() o utf8_decode() segun corresponda
  #6 (permalink)  
Antiguo 25/04/2007, 13:19
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Gracias por las respuestas, les voy a dar los resultados:

Intente lo primero

Código:
echo "Nombre" . $row["nombre"];
Y salio el mismo resultado, despues intente con las funciones de esta manera:

Código:
$string = "{$row['nombre']}";
$srting = utf8_decode($string);
echo $string;

y

$string = "{$row['nombre']}";
$srting = utf8_encode($string);
echo $string;
y me dio el mismo resultado, o sea este: hola, quien eres? - ‚ ¡ ¢ £ ? .
por ultimo intente sustituir el meta de iso-8859-1 por el UTF-8 y salio este resultado:

hola, quien eres? - ? ? ? ? ? ?


Creen que sea cuestion de los unicodes que use en el tag Meta???
  #7 (permalink)  
Antiguo 25/04/2007, 14:14
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Al trabajar con esto es un poco complicado porque, primero debes de ver como esta guardando los datos la base de datos, usualmente utf-8, prueba con cambiarlo a latin1

DEFAULT CHARSET=latin1;

Luego si aún así no funciona, debes de especificarlo, si estas usando apache en el httpd.conf ó apache.conf y buscas que tipo de charset esta seteado, la linea que debes buscar es y cambiarlo por ido-8859-1:

AddDefaultCharSet = 'iso-8859-1'; //Varia según cada server.

Saludos.
  #8 (permalink)  
Antiguo 25/04/2007, 14:59
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

mmm..perdon, donde ejecuto esta linea?

DEFAULT CHARSET=latin1;

Ya modifique el httpd.conf del apache agregandole esta linea en su respectivo lugar:

AddDefaultCharSet iso-8859-1

pero no sucede nada direfente (claro esta que ya reinicie el apache). Gracias por las respuestas
  #9 (permalink)  
Antiguo 26/04/2007, 02:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Prueba con:

Código PHP:
function limpiar_acentos($s)
{
$s ereg_replace('Á''&Aacute;'$s);
$s ereg_replace('É''&Eacute;'$s);
$s ereg_replace('Í''&Iacute;'$s);
$s ereg_replace('Ó''&Oacute;'$s);
$s ereg_replace('Ú''&Uacute;'$s);
$s ereg_replace('á''&aacute;'$s);
$s ereg_replace('é''&eacute;'$s);
$s ereg_replace('í''&iacute;'$s);
$s ereg_replace('ó''&oacute;'$s);
$s ereg_replace('ú''&uacute;'$s);
$s ereg_replace('Ñ''&ntilde;'$s);
$s ereg_replace('ñ''&Ntilde;'$s);
return 
$s;

Y lo del CHARSET que te comentan es de la base de datos, a la hora de crearla, cámbiale el CHARSET DEFAULT a latin1.
  #10 (permalink)  
Antiguo 26/04/2007, 09:24
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Cita:
Iniciado por eskorbutin Ver Mensaje
mmm..perdon, donde ejecuto esta linea?

DEFAULT CHARSET=latin1;

En la caja del PHPMyAdmin, donde dice: Ejecutar SQL. ó sino en la consola mysql.
(Primero debes de estar en la BD que quieres cambiar.)
  #11 (permalink)  
Antiguo 29/04/2007, 18:34
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

Gracias por sus respuestas, que buena idea verm83 !!! me parece muy práctica y fácil de implementar. De hecho ya la puse a funcionar.
  #12 (permalink)  
Antiguo 30/04/2007, 07:45
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Campo de texto con tildes, problema al imprimirlos en una Web!!!

este quedo alreves
Código PHP:
$s ereg_replace('Ñ''&ntilde;'$s);//aqui remplazará la Ñ mayuscula por la minuscula
$s ereg_replace('ñ''&Ntilde;'$s); //aqui remplazará la ñ minuscula por la mayuscula 
solo es una observacion

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 02:49.