sql >> Base de Datos >  >> RDS >> Mysql

Hay símbolos como  y así sucesivamente en la base de datos, ¿qué hacer?

Depende de cuál sea realmente el problema...

Si es que esos personajes son supuestos para estar allí (como "Mañana" en español), entonces deberá asegurarse de que todo esté en UTF-8... la mejor manera es:

1:verifique que las tablas de la base de datos estén en codificación "utf-8" (si no, conviértalas a utf-8)

2:como señaló Martin, asegúrese de que el conector de la base de datos sea utf-8 usando algo como:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here

3:asegúrese de que el documento sea utf-8 (puede agregar un encabezado en la parte superior)

<?php header('Content-type:text/html;charset=utf-8'); ?>

4:solo para estar seguro, agréguelo también como metaetiqueta

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

SIN EMBARGO

Es muy posible que tenga algunos caracteres sin valor en la base de datos donde algo como ISO-8859-1 se ha hecho malabarismos con UTF-8, mal. En este caso, notará cosas como £ donde lo que realmente quieres es £ (Debido a que los caracteres UTF-8 contienen más datos que los caracteres ISO-8859-1, esos datos adicionales pueden convertirse en un carácter adicional si no tiene cuidado).

En cuyo caso, lo mejor que puede hacer es limpiar la base de datos (probablemente podría hacer algo como UPDATE table SET field = REPLACE(field, '£', '£') para "errores" comunes) y luego convierta todo el kaboodle a UTF-8 (como se describe anteriormente) para evitar que el problema se repita.