utf8 - ã php
¿Cómo convertir estos extraños personajes?(à «, Ã, ì, ù, Ã) (3)
Aunque utf8_decode
es una solución útil, prefiero corregir los errores de codificación en la propia tabla. En mi opinión, es mejor corregir los caracteres malos en sí mismos que hacer "hacks" en el código. Simplemente haga un replace
en el campo en la tabla. Para corregir los caracteres mal codificados de OP:
update <table> set <field> = replace(<field>, "ë", "ë")
update <table> set <field> = replace(<field>, "Ã", "à")
update <table> set <field> = replace(<field>, "ì", "ì")
update <table> set <field> = replace(<field>, "ù", "ù")
Donde <table>
es el nombre de la tabla mysql y <field>
es el nombre de la columna en la tabla. Aquí hay una muy buena lista de verificación para aquellos caracteres que normalmente están mal codificados entre 1252 y utf-8 -> Debugging Chart Mapping Windows-1252 Characters to UTF-8 Bytes to Latin-1 Characters .
¡Recuerde hacer una copia de seguridad de su tabla antes de intentar reemplazar cualquier carácter con SQL !
[ Sé que esta es una respuesta a una pregunta muy antigua, pero estaba enfrentando el problema una vez más. Algunas máquinas Windows antiguas no codificaron el texto correcto antes de insertarlo en la tabla compaginada utf8_general_ci. ]
Mi página a menudo muestra cosas como à «, Ã, ì, ù, à en lugar de los caracteres normales.
Yo uso utf8 para la página de cabecera y la codificación MySQL. ¿Como sucedió esto?
Estos son caracteres codificados en utf-8. Use utf8_decode() para convertirlos a caracteres normales ISO-8859-1.
Si ve esos caracteres, probablemente no haya especificado correctamente la codificación de caracteres . Debido a que esos caracteres son el resultado cuando una cadena de varios bytes UTF-8 se interpreta con una codificación de un solo byte como ISO 8859-1 o Windows-1252 .
En este caso, ë
podría codificarse con 0xC3 0xAB que representa el carácter Unicode ë
(U + 00EB) en UTF-8.