Използвам релси 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
my 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 = Encoding :: 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
Надявам се това да помогне на някой, който има същия проблем!