Tildes en tu página web

Tengo una aplicación que toma los datos de un text area y los guarda en una base de datos, está realizado en php y mysql... todo funciona bien, salvo...

La FAQ Tildes en tu página web tiene

Pertenece a la categoría:
Pregunta
Tengo una aplicación que toma los datos de un text area y los guarda en una base de datos, está realizado en php y mysql... todo funciona bien, salvo que al mostrar los datos guardados en la base de datos, las tildes desaparecen y en un lugar de ellas aparecen caracteres extraños.




Alguien sabe a que se debe esto? y qué debería hacer para poder ver las tildes? además tengo el mismo problema a la hora de mandar un mail, el mail se manda, pero las tildes son reemplazados por caracteres extraños.


Por favor necesito una solución!
Respuesta de Alexander Gonzales
Para solucionar este problema tienes varias soluciones.




Una es cambiar las vocales con tilde por su respectivo en HTML.



á --> á


é --> é


í --> í


ó --> ó


ú --> ú


ñ --> ñ









Otra opción sería utilizar una función de PHP que te las reemplaza automáticamente.


La función es htmlentities()




Otras alternativas a las que se plantean son:




1. Usar DOCTYPE y <meta>:




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">


<meta http-equiv="content-type" content="text/html;

charset=CODIFICACION DE CARACTERES">




2. Usar las funciones de conversión de ISO a UTF:




http://www.php.net/manual/en/function.utf8-encode.php


http://www.php.net/manual/en/function.utf8-decode.php




Es importante que antes de aplicar cualquiera de los pasos definas cómo quieres que tu script trabaje, en qué codificación de caracteres
estará, pues "hacks" momentáneos o improvisados pueden derivar en que
tu página se vea "a la de Dios".

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Question

10/11/2005
Hola que tal, probe la solución que dan, y aunque funciona super en IEXPlorer en Mozilla y en opera no, Qué puede ser ?

Fix

30/10/2006
con htmlentities() a mi me funciona, pero con una salvedad, el simbolo del EURO € se sigue viendo con un carater raro, las eñes y las tíldes ya se ven bien.

A ver si hay alguien que haya solucionado esto.

Dianav

04/12/2009
Simbolo marca registrada
Hola, quiero saber en que forma debo digitar los caracteres del simbolo de marca registrada. He visto que es este: ® &#174; &reg;
Sin embargo no logro que me salga en la pagina, lo unico que visualizo es un cuadrado.
Gracias por tu ayuda!!

byron_nizo

30/1/2010
Posible SOLUCIÓN para el tema de las tildes en PHP
Bueno,
Les cuento que hice todo y busqué por todas partes cómo solucionar el tema de las tildes, hasta que por casualidad me fijé que algunas funciones que ponía en un archivo y retornaban datos que enviaba a la página... no salían bien.

Después de mucho probar me dí cuenta que ese archivo específico lo tenía en una codificación diferente a UTF-8.

Al verificar el archivo que enviaba los datos a la base de datos, también estaba en otra codificación. Le cambié el tipo de codificación y mis datos en la base de datos MySQL llegan perfectos.

Particularmente trabajo con Dreamweaver y el tipo de codificación se puede cambiar en el menú Modify - Page Properties - Title/Encoding.

Pero en otros editores como Editplus, Notepad++, etc... también se puede ver y cambiar también el tipo de codificación de un archivo...

Espero les evite dolores de cabeza...
Bye

diego

18/2/2010
otra solución
Hola,

La forma en que logré solucionarlo fue guardando el documento con Codificación Occidental ISO-8859-15 desde el editor de texto. Al comienzo no me dejaba guardarlo, pero me di cuenta que era por las doble comillas (" ") las que tuve que cambiar por comillas simples (' ')

Saludos

byron_nizo

14/3/2010
Tildes con MySQL y PHP
Para solucionar el inconveniente de las tildes entre PHP y MySQL existe una función llamada mysql_set_charset, con la cual se puede establecer la codificación de conexión entre MySQL y PHP.

En versiones anteriores de PHP la función no existe, pero en la documentación de PHP se puede encontrar su definición para versiones anteriores:

mysql_set_charset('utf8',$link);

Definición para versiones anteriores:
<?php
if (function_exists('mysql_set_charset') === false) {
function mysql_set_charset($charset, $link_identifier = null)
{
if ($link_identifier == null) {
return mysql_query('SET NAMES "'.$charset.'"');
} else {
return mysql_query('SET NAMES "'.$charset.'"', $link_identifier);
}
}
}
?>


Con esto definitivamente solucioné todos los problemas que tuve con el tema de las tildes.

eglis2010

03/1/2012
Me sirvió
con la función htmlentities de php me sirvió.

eglis2010

03/1/2012
Esto me funcionó
header('Content-Type: text/html; charset=ISO-8859-1'); me funcionó

YO

23/1/2013
FUCKING TILDE
GRACIAS, LO ANTERIOR ME SIRVIÓ ALA PRIMERA.

WWW.MIRACOM.CL
FAQ relacionadas

Para ver más FAQ relacionadas accede a las categorías:

Volver al árbol de categoríasVolver al árbol de categorías