2009-05-23 13 views
8

Próbuję skonfigurować mój zestaw znaków w widoku HTML w aplikacji RoR. ja już skonfigurowany przez meta charset tag val:
** meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" **zestaw zestawów znaków w szynach

nie działa, więc próbowałem zmienić mój .htaccess (jest to aplikacja RoR działająca pod apache), ale tutaj jest mój problem. Zwykle mogę użyć następującej instrukcji: AddType 'text/html; charset = ISO-8859-1 'html

Ale problem polega na tym, że jak wiadomo, RoR nie ma "rozszerzenia pliku" i to psuje to rozwiązanie .htaccess. Ktoś wie w inny sposób ustawić zestaw znaków w szablonie układu lub widoku?

Odpowiedz

13

Niech aplikacja Rails ustawi nagłówek Content-type, a wtedy nie będziesz musiał się martwić o to, co robi Apache.

response.headers['Content-type'] = 'text/html; charset=utf-8' 

Można również dodać

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

do samej stronie, tak, że jeśli ktoś zapisuje je na dysku, to obciążenie z poprawną charset.

+0

mogę ustawić go na kontrolerze aplikacji aby dostępnej dla wszystkich kontrolerów? Ponieważ mam problem ze znakami w widokach/layout/application.rhtml –

+0

Dzięki, potrzebowałem tego. @VP, możesz umieścić go w before_filter i myślę, że możesz umieścić jeden z nich w pliku application_controller.rb –

2

Dodałem funkcję podobną do tej, ale nadal nie działa, mam kody ç w moim pliku application.rhtml, które nie działają.

before_filter :configure_charsets 

# Configuring charset to UTF-8 
def configure_charsets 
    headers["Content-Type"] = "text/html; charset=UTF-8"  
end 

Dodałem także meta http-equiv tag HTML i .htaccess parametru AddDefaultCharset UTF-8

To nie jest nadal działa, żadnej innej końcówki?

0

Wystarczy ustawić: encoding => „utf-8” po nazwie szablonu tak:

respond_to do |f| 
    f.pdf do 
    render :pdf => 'path_to_template_file', :encoding => 'utf-8' 
    end 
end 
Powiązane problemy