Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/Программирование на ROR/Кодировка в хедерах

2008-06-09 22:37:31 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1231
Регистр: 2007-03-13
его блог 40 сообщ.
Кодировка в хедерах
  •  
Часто при переносе проекта на хостинг возникает необходимость в установке кодировки

class ApplicationController < ActionController::Base
before_filter :set_charsets

def set_charset
if request.xhr?
@headers["Content-Type"] = "text/javascript; charset=utf-8"
else
@headers["Content-Type"] = "text/html; charset=utf-8"
end

end
------------
Занимаюсь вебом и продвижением сайтов.
2008-06-05 16:24:45 Ответить  
anton4ept
k a
Адрес:
Сообщений: 5
Регистр: 2007-07-24
его блог 0 сообщ.
RE: Кодировка в хедерах
  •  
И благополучно выдается
Status: 500 Internal Server Error Content-Type: text/html
2008-06-05 16:19:49 Ответить  
anton4ept
k a
Адрес:
Сообщений: 5
Регистр: 2007-07-24
его блог 0 сообщ.
RE: Кодировка в хедерах
  •  
суть проблемы такова:
имеем файл app/controllers/about_controller.rb:
class AboutController < ApplicationController
def index
@page_title = "фыва"
end
end

Имеем шаблон app/views/layouts/application.rhtml:






#{@page_title}" if @page_title %>







Внимание, проблема...
Если оба файла в UTF-8, то выскакивает ошибка:

app/controllers/about_controller.rb:5: syntax error, unexpected kEND, expecting $end






Если @page_title делаем на английском - все пучком.

Если же сохранить файлы в cp-1251, то возникает другая проблема: браузер ощущает это дело, как UTF-8 (видимо, это приходит ему в http-заголовках) и нужно вручную изменять кодировку на cp-1251.

Кто-нибудь сталкивался? И как решали?
2008-06-05 02:55:00 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1231
Регистр: 2007-03-13
его блог 40 сообщ.
RE: RE: Кодировка в хедерах
  •  
Так если ты пишешь на винде то пиши все в 1251 и в хедер пропиши cp-1251 думаю все должно заработать.

Скажем для примера дома я тожепиу на винде но весь проект делаю в utf8 и никаких граблей возможно ты в чемто другом ошибся.
------------
Занимаюсь вебом и продвижением сайтов.
2008-06-04 23:00:17 Ответить  
anton4ept
k a
Адрес:
Сообщений: 5
Регистр: 2007-07-24
его блог 0 сообщ.
RE: RE: RE: Кодировка в хедерах
  •  
Еще раз объясняю: если файлы сохранять в cp-1251, то в http-заголовках всеравно идет utf-8
и кириллица не видна. Чтобы ее смотреть нужно ручками каждый раз переключать кодировку.

Если же сохранять в utf-8, то он как-то очень загадочно воспринимает русские буквы (выдает ошибку о которой я писал в предыдущем посте).

Если же прописать в application.rb это:
class ApplicationController < ActionController::Base before_filter :set_charsets def set_charset if request.xhr? @headers["Content-Type"] = "text/javascript; charset=utf-8" else @headers["Content-Type"] = "text/html; charset=utf-8" end end

(или заменить в этом классе utf-8 на cp-1251) выдает сообщение об ошибке 500: internal server error!!!
2008-06-08 06:29:59 Ответить  
anton4ept
k a
Адрес:
Сообщений: 5
Регистр: 2007-07-24
его блог 0 сообщ.
RE: RE: RE: Кодировка в хедерах
  •  
Есть возможность прописать в http-заголовках выдаваемых сервером вместо utf-8 другую кодировку, кроме как через файл application.rb? (ну, не работает оно!)
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 160 Онлайн: vintyara,
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008