Foros del Web » Programando para Internet » PHP »

Caracteres especiales en php

Estas en el tema de Caracteres especiales en php en el foro de PHP en Foros del Web. Tengo creado una base de datos en iespana.es y pone que las tablas estan en utf8_general_ci, y el problema es que tengo guardada información en ...
  #1 (permalink)  
Antiguo 18/01/2008, 11:53
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Caracteres especiales en php

Tengo creado una base de datos en iespana.es y pone que las tablas estan en utf8_general_ci, y el problema es que tengo guardada información en la base de datos con palabras con acentos y con ñ y cuando hago la consulta de esos datos no me sale ni el acento ni la ñ, me lo convierte como quiere.
He creado una función de la siguiente forma:
<?php
function toHtml($entra){
$traduce=array( "á" => "&aacute;" , "é" => "&eacute;" , "í" => "&iacute;" , "ó" => "&oacute;" , "ú" => "%uacute;" , "ñ" => "&ntilde");
$sale=strtr( $entra , $traduce );
return $sale;
}
?>
y en la salida de la base de datos, he puesto:
<?php
echo toHtml($provincia);
?>
y en provincia debería salir los nombres de las provincias con acentos y ñ pero no es asi.
¿Que estoy haciendo mal?
Muchas gracias de antemano,
Mari
www.puenteviejo.tk
  #2 (permalink)  
Antiguo 18/01/2008, 13:35
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Caracteres especiales en php

Si tienen la BDD supongo que también tendrán configurado el Apache bien. Así que sólo te quedaría definir el HTML como UTF8. ¿Tienes definida una cabecera con el charset?
Algo así:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  #3 (permalink)  
Antiguo 18/01/2008, 13:38
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Caracteres especiales en php

Otra alternativa que puedes hacer es darle htmlentities a tu variable


Código PHP:
echo htmlentities($row["variable"]); 
Saludos.

Última edición por ginitofl; 18/01/2008 a las 13:38 Razón: correccion
  #4 (permalink)  
Antiguo 18/01/2008, 13:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Caracteres especiales en php

Creo recordar que eso no me ha funcionado siempre.

Además, la cabecera debería estar, hay que ajustarse a la estandarización lo máximo posible.
  #5 (permalink)  
Antiguo 22/01/2008, 13:28
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Re: Caracteres especiales en php

Me sigue sin salir bien los acentos de la base de datos.
La base de datos la tengo alojada en iespana.es y la codificación pone que es utf8_general_ci y también existe la posibilidad de ponerla utf8_spanish_ci, pero da igual cual ponga porque en la pagina php que llama a la base de datos no salen los acentos.
Cómo cabecera en la página php he puesto:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
ó
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
y da igual lo que ponga porque no siguen saliendo caracteres raros, por ejemplo donde tiene que poner ACÁN sale ACÓN.
Como lo puedo solucionar, porque lo que es en el together no puedo manipular nada, ya que tengo alojada la página en un servidor gratuito.
Muchas gracias de antemano.
www.puenteviejo.tk
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:48.