dominios y alojamiento web en hostalia

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".

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 8 comentarios a la faq
8 comentarios revisados:
Por: 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 ?
Por: 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.
Simbolo marca registrada
Por: Dianav
04/12/2009
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_n...
Posible SOLUCIÓN para el tema de las tildes en PHP
30/1/2010
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
otra solución
Por: diego
18/2/2010
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_n...
Tildes con MySQL y PHP
14/3/2010
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.

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

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

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

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...