> Faqs > Error en acentos en MySQL

Error en acentos en MySQL

Hola, tengo una pagina donde cargo informacion de la base de datos algunos de estos datos tienen acentos pero lo marca como signos raros Que puedo hacer para que no ocurra esto?

Me dicen que tengo que cambiar informacion de y en la pagina Web, la verdad me preocupa modificar algun valor sin saber, les agradecerua mucho la ayuda.

la informacion que tengo de la base de datoses la siguiente Juegos de caracteres de MySQL:

UTF-8 Unicode (utf8) cotejamiento de las conexionde de sql es utf8_general_ci character set client utf8 (Valor global) latin1 character set connection utf8 (Valor global) latin1 character set database latin1 character set filesystem binary character set results utf8 (Valor global) latin1 character set server latin1 character set system utf8 character sets dir /usr/share/mysql/charsets/ collation connection utf8_general_ci (Valor global) latin1_swedish_ci collation database latin1_swedish_ci collation server

Respuestas

No sé dónde te aparecen los errores, pero si es que tienes los datos en MySQL tendrías que verificar si realmente en las tablas están o no correctamente, porque podrían estar bien en las tablas de la base de datos y mal a la hora de mostrarlos en una página web, por ejemplo.

El error que compartes no es muy claro. En realidad parece que estás haciendo conexiones con UTF8 pero luego menciona otros juegos de caracteres y no se ve bien qué es lo que tienes en tu sistema.

Yo te diría que si el problema es desde MySQL lo podrías verificar haciendo una conexión con MySQL desde terminal, por ejemplo, que creo que sería la opción más segura para saber si el problema es en las tablas. Si ahí los datos los ves bien, entonces estás en el mejor escenario posible, porque lo más complicado sería cambiar los datos de la base de datos. Si los datos los ves mál en MySQL, entonces tienes los acentos corruptos y no sabría ayudarte. Posiblemente si importas los datos de nuevo con otro programa o con el archivo de origen en otra codificación te funcionará.

Luego tendrás que verificar cómo muestras los datos.

No debería darte problemas el escribir con acentos en PHP, ya que no hay ningún problema con ellos.

El truco consiste en utilizar una codificación de caracteres de UTF-8 en los archivos PHP. si los codificas con UTF8 el servidor los enviará con UTF8 y ya solo te quedaría indicar en el html en la etiqueta del head que el juego de caracteres del archivo es UTF8.

Esa es una etiqueta estándar de HTML5 con la que empiezan todos los documentos HTML. en cualquier documento básico del manual de HTML podrás encontrarlo.

El problema te puede surgir cuando estás utilizando una codificación de caracteres en el archivo y estás declarando una codificación de caracteres distinta en el código HTML. Verifica que no ocurra eso.

Además verifica que estés realizando una conexión con la base de datos en el charset que tengas la base de datos. Revisa esta documentación de PHP sobre mysqli_set_charset.

Alba
274 6 18 9

Buenas, yo tendria en la base de datos con UTF-8 Unicode, y a la hora de grabar los datos en la base de datos usaria la funcion PHP "utf8_encode($cadena_texto)" que codifica la cadena a UTF-8. Espero que te sirva. Saludos

asdf
Cierto, el almacenamiento de los datos en la base de datos también debe realizarse en utf8