No se puede saber dónde está mi cadena Ruby 1.9 codificación se está en mal estado
Pregunta
En algún lugar a lo largo de la línea desde el DB de la aplicación, esto:
sauté
está siendo convertido en esto:
sauté
Estoy usando Ramaze + Rack + MySQL. Tengo un plug-in force_encoding establecido, por lo que la codificación de la cadena es UTF-8. Si veo el registro de la cáscara de la base de datos, que es se ve bien. El conjunto de caracteres por defecto en la mesa es UTF-8, y el campo en sí es "texto". La codificación en mi conexión de base de datos es UTF-8. Además, en mi Macbook, todo funciona muy bien. Está en mi servidor de Ubuntu que se está haciendo destrozado. Estoy esperando que alguien puede reconocer esto y dime que es Unicode excitando a ASCII, luego hacia atrás, o algo por el estilo.
Solución
Lo más probable es diferente configuración regional.
Ejecute el comando locale
en ambos y ver cuál es la diferencia.
Asumo que vea un problema cuando se obtienen resultados de vuelta de MySQL, que es un problema común con 1.9 de acuerdo con los resultados de Google: http://www.google.com/search?q=mysql+ruby+1.9+encoding .