Globedia.com

×
×

Error de autenticación

Ha habido un problema a la hora de conectarse a la red social. Por favor intentalo de nuevo

Si el problema persiste, nos lo puedes decir AQUÍ

×
cross

Suscribete para recibir las noticias más relevantes

×
Recibir alertas

¿Quieres recibir una notificación por email cada vez que Inforgeeks escriba una noticia?

Cómo solucionar el problema con caracteres extraños en acentos y eñes: charset UTF-8 / ISO-8859-1

20/04/2014 21:30 0 Comentarios Lectura: ( palabras)

image

Los webmasters, nos topamos frecuentemente con problemas referidos al uso del conjunto de caracteres o charset con los cuales se diseñan los archivos y las bases de datos. Y el problema radica en que no utilizan la misma codificación. La Base de Datos habla en un idioma y el archivo donde queremos poner ese dato, en otro.

PHP y las tablas MySQL almacenan los datos con un juego de caracteres o charset que está definido cuando generamos la tabla. A veces sucede que necesitamos mostrar esa información en un archivo php, pero los datos aparecen con signos extraños, con signos de pregunta y unos rombos, o con caracteres erróneos.

1 Solución:

Se puede establecer el juego de caracteres en el mismísimo servidor, modificando el archivo .htpaccess agregando la sentencia

AddDefaultCharset iso-8859-1

o

AddDefaultCharset utf-8

2 Solución:

Se puede agregar dentro del Header de la página en la cual queremos mostrar esos datos de la Base, la siguiente sentencia:

o

o también utilizando directamente php

header('Content-Type: text/html; charset=utf-8?);

3 Solución:

Si sigues teniendo problemas ( como era mi caso, que en otro lugar se perdía la codificación) puedes probar con estas funciones de php, que aplicadas al campo de la base de datos, obtienes la transformación:

En el caso, que veas signos de pregunta y rombos, significa que no se puede traducir el caracter Unicode porque está "mal formado".

Solución: Hay que convertir nuestra cadena a utf-8 mediante la función utf8_encode().

<?php echo utf8_encode($myrow2[‘pais’]);<br/> ?>

Si en cambio en vez de eñes y acentos, ves dos caracteres que suelen ser un à y algo más, quiere decir que tus datos están viniendo en utf8 y hay que pasarlo a Latin-1.

Esto se hace con la función utf8_decode().

<?php echo utf8_decode($myrow2[‘pais’]);<br/> ?>

image

[fuente: LodeMiguel]

Amazon

via http://feedproxy.google.com/~r/geeksroom/YpGd/~3/EDIpBnxnBck/


Sobre esta noticia

Autor:
Inforgeeks (6831 noticias)
Visitas:
10019
Tipo:
Reportaje
Licencia:
¿Problemas con esta noticia?
×
Denunciar esta noticia por

Denunciar

Comentarios

Aún no hay comentarios en esta noticia.