Mostrando entradas con la etiqueta UTF-8. Mostrar todas las entradas
Mostrando entradas con la etiqueta UTF-8. Mostrar todas las entradas

lunes, 20 de marzo de 2017

Errores que puedes encontrar al migrar de WAMP 2.0 a 3.0



Errores que puedes encontrar al migrar de WAMP 2.0 a  3.0

Comparto algunas soluciones a errores que encontré al cambiar la versión de WAMP server desde la versión 2.0 a la 3.0.

La configuración de PHP (Problema de codificación , palabras con acentos o ñ):
Un error que encontré en el PHP fue el de la codificación, las palabras con acentos no se veían correctamente o no se veía nada. El problema es que por defecto WAMP 3.0 usa codificación: UTF-8 , para solucionar este problema es ir al archivo: php.ini
Cambiar la línea:
;default_charset = "UTF-8"
por:
default_charset = "ISO-8859-1"

Problema con la base de datos MYSQL 5.7 (Error al insertar datos y consultar algunos datos con agrupaciones)
La  configuración de esta base de datos viene por defecto con algunas restricciones que no existían por defecto en las versiones anteriores.
La solución es simple:
Agregar al mi.ini  la siguiente línea:
sql-mode=""
Como ves es una línea vacía , pero esto te eliminará todas las restricciones por defecto y te ahorrarás mucho tiempo.

Luego de cambiadas estas configuraciones debes reiniciar los servicios para que carguen con estas nuevas configuraciones el PHP y MYSQL.

viernes, 20 de mayo de 2011

AJAX , problemas con acentos , htmlentities, utf8_encode,iso-8859-1,UTF-8

Hace unas programando una web se me presentó un problema , y es que haciendo llamadas AJAX a contenidos mediante JQuery , los caracteres con acentos, no se veían bien , estoy al tanto de que para visualizar estos caracteres en el documento HTML , hay que usar el estándar iso-8859-1:

<meta equiv="Content-Type" content="text/html; charset=iso-8859-1">


Pero el problema era solo cuando se hacían peticiones asincrónicas al servidor. Una solución puede ser enviar estos caracteres codificados, usando por ejemplo la función: htmlentities
htmlentities(“texto con acentos: áé”); // devuelve: texto con acentos: áé

Pero el problema radica en que al hacer una petición AJAX , los texto interpretados como si fueran en formato UTF-8, sin embargo lo que yo estaba enviando era texto en formato iso-8859-1, por lo tanto se produce un error , la solución más optima es usar la función : utf8_encode , que recibe como parámetro un texto en formato : iso-8859-1 y lo convierte en UTF-8.

La función contraria a utf8_encode, es utf8_decode
A mí me funcionó de maravillas.



Moises Soft (Desarrollo web en Cuba)