Я використовую рейки 3.1.1 з ruby-1.9.2-p290 на системі debian через rvm. Я використовую шведські букви в моїх думках і в базі даних mysql. Я продовжую отримувати
несумісні кодування символів: utf-8 і ASCII-8BIT
коли я відвідую сторінку, яка отримує матеріали з db.
у моїй database.yml я маю це:
staging:
adapter: mysql
database:something
encoding: utf8
username: something
password: something
host: localhost
production:
adapter: mysql
database:something
encoding: utf8
username: something
password: something
host: localhost
мій config.ru:
Encoding.default_external = "utf-8"
require ::File.expand_path("../config/environment", __FILE__)
run Someappname::Application
my environment.rb:
# Load the rails application
require File.expand_path("../application", __FILE__)
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Someappname::Application.initialize!
мій config / initializers / encoding.rb:
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Я спробував з усіма комбінаціями "Encoding.default_xxxxxx = Кодування :: UTF_8" і без них
Кожен контролер, помічник та поштова програма починаються з:
# кодування: utf-8
У mysql:
mysql> показати змінні типу "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
І вихід з:
mysql> показати змінні типу "colla%";
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
Будь-яка ідея про те, що я можу зробити? Я намагаюся дійсно втомитися від цієї проблеми!
Відповіді:
4 для відповіді № 1Окей, здається, мені вдалося вирішити проблему! Проблема в тому, що я використовував mysql і mysql2 одночасно. Тому, щоб вирішити цю проблему, мені довелося видалити mysql і захопити mysql2 "0.3.7", або інший пристрій кидав у мене дивні помилки. А потім мені довелося змінити адаптер в database.yml на адаптер: mysql2
Сподіваюся, що це допомагає комусь з такою ж проблемою!