Tworzę aplikację na istniejącej bazie danych z charset windows-1250.
Mam strasznie dużo błędów przez to kodowanie.
W database.yml mam : encoding: windows-1250
W application.rb : config.encoding = "windows-1250"
W production.rb : Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8
Jeśli nie mam tego nie mogę przekompilować dodatków (assetsów).
W layout/application.rb : <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
Wszystkie dane z bazy danych są wyświetlane poprawnie z polskimi znakami.
Ale kiedy próbuje dodać polskie znaki do plików html od razu dostaje błąd: ActionView::Template::Error (incompatible character encodings: Windows-1250 and UTF-8
Więc muszę w tych plikach używać: Iconv.conv('windows-1250', 'utf-8', 'xxx')
Jest jakiś sposób, aby obejść ten błąd, gdyż w panelu administratora (active admin) musiałem całkowicie zrezygnować z wyświetlania polskich znaków, w obawie o pojawiające się błędy.
Problem jest taki, że ta baza jest w firmie używana w innym produkcie od 2004 roku i nikt w firmie nie będzie skłonny do jej zmiany, a ja na praktykach nie mam mocy sprawczej, żeby to na kimś wywrzeć, więc muszę pracować z tym co mam.
Moja aplikacja musi mieć łączność z tym drugim produktem, na ten moment oprócz tego, że kod wygląda jak dla mnie paskudnie, to wszystko działa ok.
Skoro baza działa od 2004 roku to chyba dosyć oczywiste, że korzystają z niej inne aplikacje, a ta railsowa została dodana później. A Wy mu radzicie żeby skonwertował bazę na inne kodowanie… A jak się nie da to ma uciekać do innej firmy. Jak czytam tego typu rady to nie wiem czy mam się śmiać czy płakać.
@cryuff Idealnie byłoby jakbyś postawił jakiś prosty projekcik na gitubie, skonfigurowany tak jak Twoja appka (+ jakiś seed bazy) i z pokazanym minimalnym test casem tego błędu. Ja mógłbym w wolnej chwili powalczyć z tym, ale nie chcę tracić czasu na stawianiu tego.
Niekoniecznie projekt mogl umrzec i nowy powstaje na istniejacej bazie, do tego jak to praktyki sa to ja bym uciekal z takiej firmy. Sa lepsze opcje ktore zbustuja skila szybko, a nie spedzisz praktyk piszac (z tego co widac w samotnosci) apke i walczac z kodowaniem
Jakbyś mógł podać swój nick na gicie, dodam cię do prywatnego repozytorium, z odtworzeniem bazy będzie problem, mogę ewentualnie pustą utworzyć, bo to baza w fireberdzie kodowanie windows-1250 tylko oryginał ma 1gb i trochę wrażliwych danych.