Tengo un formulario HTML y algunos usuarios están copiando/pegando texto de MS Word. Cuando hay comillas simples o dobles, que se traducen en divertidos personajes como:¿Por qué las citas se convierten en divertidos personajes cuando se envían en un formulario HTML?
' €  ™ y à ¢  €  ™
La columna de base de datos es utf8_general_ci colación.
¿Cómo obtengo los caracteres apropiados para mostrar?
Editar: Problema resuelto. Así es como lo arreglé:
Ran mysql_query("SET NAMES 'utf8'");
antes de agregar/recuperar de la base de datos. (gracias al comentario de Donal a continuación).
Y algo extraño, la función php urlencode($text)
se aplicó al mostrar, por lo que tuvo que ser eliminada.
También me aseguré de que los encabezados de la página y la solicitud/respuesta de ajax fueran todos utf8.
MS Word cambia las comillas en "citas inteligentes", que son cualquier cosa menos inteligentes. Utilizan una "página de códigos" de Microsoft en lugar de Unicode. –
Notarás esto con algunos guiones también. – Buggabill
Si todas las codificaciones se especifican correctamente, estas deben convertirse automáticamente a su equivalente en Unicode. Dudo que el problema sea específico de Word; intenta escribir, p. Alt + 130 (é) directamente, y ver si se muestra limpiamente. – Thomas