/ / Бах! Продължавам да получавам тази грешка при кодиране на релси с рубин 1.9.2 - mysql, ruby, ruby-on-rails-3, кодиране, ruby-on-rails-3.1

Бах! Аз продължавам да получавам тази грешка в кодирането на релси с рубин 1.9.2 - mysql, рубин, рубин на релси-3, кодиране, рубин на релси-3.1

Използвам релси 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

Надявам се това да помогне на някой, който има същия проблем!