Polskie litery MySql UTF-8 i testy

Mam problem z polskimi znakami i testami:

Konfiguruje dostęp do bazy development i test w sposób opisany w: http://ruby-rails.pl/polskie-literki-w-ruby-on-rails/.

Wszystkie kolumny tesktowe w bazie development mają collation utf8_polish_ci, aplikacja działa prawidłowo.

Następnie w pliku fixtures umieszczam parę rekordów z polskimi znakami dla odpowiednich testów. Po wywołaniu ‘rake test’ wyrzucany jest wyjątek, że pole jest zbyt długie aby zapisać je w bazie(tylko dla pól z polskimi znakami). Problem wynika stąd, że przy kopiowaniu bazy ‘test’ przez ‘rake test’ coś się psuje z collation i ustawieniami utf w bazie test. Wszystkie tekstowe kolumny w bazie mają collation latin1_swedish_ci .

Przeprowadziłem też mały eksperyment. Przed wykonaniem zadania ‘rake test’, wszystkie tabele w bazie test tworzone ręcznie(z poza rails) mają ustawione prawidłowe collation. Po wykonaniu collation domyslne zmienia sie na latin1_swedish_ci. Potwierdza to moje przypuszczenie ze “cos psuje” kopiowanie bazy do testów.

Czy ktoś wie może jak to rozwiązać?

"rake test usuwa testową bazę i tworzy ją na nowo z domyślnymi ustawieniami collation.

Railsy nie kopiują tej cechy z bazy development do test więc jeśli Twoje testy zależą od prawidłowego ustawienia collation najlepiej jeśli zmodyfikujesz konfigurację Twojego serwera MySQL, np.:

[code]/etc/mysql/my.cnf

[mysqld]
character-set-server = UTF8
default-character-set = UTF8
collation_server = utf8_polish_ci[/code]
Zrestartuj serwer - Teraz nowotworzona baza będzie miała powyższe cechy. Powinno pomóc, też miałem podobny problem i pomogło.

Pomogło thx.