Pregunta

Tengo personajes como estos en nuestro sitio web: Fà© mnyomó

Esto es una dirección de calle, entró en otro idioma (aunque no sé cuál). Aquí está la configuración db:

mysql 4.1.2log
charset cp1252 West European (latin1)

Estoy usando PHP, pero sin mbstrings () (aunque yo no la conversión de series en esta dirección, simplemente eco).

Si cambiara el juego de caracteres de MySQL CP1252 a UTF-8 y se aseguró de que solía cosas como header( 'Content-Type: text/html; charset=UTF-8' ); habría que mejorar mi situación? O bien, se actualizan los datos lavar con manguera, ya que se ha guardado en el juego de caracteres CP1252 y no hay nada que pueda hacer? La base de datos original fue creado en 2002 y ha sido utilizado / ampliado desde entonces. Hemos actualizado los servidores y reimportadas vertederos, pero con vergüenza que admitir que no da mucha importancia juegos de caracteres.

Si estoy regado, probablemente acaba de quitar el texto en esos campos, pero me gustaría Soporte Unicode en el futuro, por lo que si ALTER database_name DEFAULT CHARACTER SET utf8; problema que va a asegurarse de que las futuras codificaciones multibyte se guarda correctamente, teniendo al menos el almacenamiento fuera de la ecuación (dejándome a la preocupación acerca de PHP)?

Gracias -

¿Fue útil?

Solución

1) Convertir todos los juegos de caracteres a UTF-8:

ALTER database_name DEFAULT CHARACTER SET utf8;

2) la edición de esta antes de cualquier consulta en la página:

mysql_query("set names 'utf8'");

3) Utilice esta cabecera:

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

4) Inserte esta etiqueta meta:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>

5) También, lee esto: http: // www. oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top