6

Otrzymuję ten błąd w moim środowisku produkcyjnym (CentOS 5.6), ale działa dobrze w programowaniu (Ubuntu 11.04). W obu środowiskach aplikacja używa Ruby 1.9.3 i Rails 3.0.9 i jest obsługiwana przez pasażerów i nginx. Moja zmechanizowana wersja klejnotów to 2,3.Jak uniknąć błędu "nie znaleziono konwertera kodu (UTF-8)"?

code converter not found (UTF-8)

Ostatni wiersz tego kodu wyzwala go:

mech = Mechanize.new 
page = mech.get("http://myurl.com/login.php?login_name=a&password=b") 
form = page.form_with(:name => "loginForm") 
form.field_with(:name => "active_pgm").value = '1' 
page = form.submit 

jakieś pomysły? Mam config.encoding = "utf-8" w moim application.rb.

+0

Czy masz StackTrace wokół? I ENV na obu maszynach. – Reactormonk

+0

Pewnie. Jest zbyt duży, aby go wkleić, więc tutaj jest link: http://pastebin.com/S41Z4zK6 – dgmdan

Odpowiedz

1

Spróbuj zmienić plik application.rb, aby przeczytać config.encoding = "UTF-8". Nie jestem pewien, dlaczego to był problem, ale warto było strzelać, ponieważ błąd narzeka na nie znalezienie "UTF-8" (wielkie litery).

+1

Dzięki za sugestię, ale nadal dostaję błąd. – dgmdan

1

To jest długa, ale może ci to pomoże, ponieważ podobne błędy na RHEL dostrzegłem dla innych parsujących się klejnotów.

Rozwiązanie znalazłem nie było w Rails - to było dodanie tych linii do środowiska systemowego:

LANGUAGE=en_US.UTF-8 
LC_CTYPE=en_US.UTF-8 
LC_ALL=en_US.UTF-8 
+0

Dzięki, ale to nie pomogło. Aby moja aplikacja działała, przeniosłem instancję produkcyjną na maszynę ubuntu i oczywiście problem się tam nie pojawia. Mogę spróbować ustawić nowy komputer centos i zobaczyć, czy dostaję to samo. – dgmdan

Powiązane problemy