Это ставит меня в тупик. Я обновляю довольно большое приложение (для меня) с Rails 2.3 до Rails 3.0. Я также запускаю это приложение в Ruby 1.9.2 в отличие от 1.8.7 ранее. Кроме того, я также переключился на HTML5. Поэтому в игре много переменных.
На нескольких страницах текст, поступающий из базы данных MySQL, просто больше не отображается правильно. Это может быть как простой символ евро (€), так и эзотерический, как в некоторых санскритских текстах: सर्वम् मंगलम्
Хотя на старом сайте все выглядело отлично, теперь я получаю некоторые символы мусора, такие как ‚‚ вместо знака евро или следующие:
सर्वम् मंगलम्
... вместо санскритского текста.
Данные в базе данных не изменены. Насколько я знаю, все настроено для utf-8 везде.
Что дает?
Редактировать 1 после помощи Роланда:
Вот что я получаю в базах данных MySQL на сервере Ubuntu:
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
но вот что я получаю от запуска команды на моем локальном mac:
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/Cellar/mysql/5.5.14/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+
Второй список выглядит лучше для меня (который не очень хорошо понимает кодировку).
Должен ли я изменить настройки баз данных моего сервера? Разве это не испортит их существующие данные? Если да, то как мне поменять чарса? установить переменные?