Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очередная проблема с кодировкой. не нашел ответа:( 
:(
    Опции темы
anton4ept
  Дата 23.7.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.7.2007

Репутация: нет
Всего: нет



суть проблемы такова:
имеем файл app/controllers/about_controller.rb:
Код

class AboutController < ApplicationController
  def index
    @page_title = "фыва"
  end
end



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

<html>
<head>
<title><%= @page_title || 'Emporium' %></title>
<%= stylesheet_link_tag "style" %>
</head>
<body>
<%= "<h1>#{@page_title}</h1>" if @page_title %>
<%= yield %>
</body>
</html>


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

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


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

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

Кто-нибудь сталкивался? И как решали?
PM MAIL   Вверх
anton4ept
Дата 24.7.2007, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.7.2007

Репутация: нет
Всего: нет



Попытки прописать в 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 


Приводят к Status: 500 Internal Server Error Content-Type: text/html 
PM MAIL   Вверх
FunnyFalcon
Дата 24.7.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 27.3.2006

Репутация: 3
Всего: 7



Думаю, используется старая версия рельс. В этом случае в environments.rb укажите $kcode = 'u' (если не запамятовал) - это указание интерпретатору Ruby воспринимать исходный текст как utf8.

В последних версиях рельс это присваивание выполняется внутри фреймворка.
PM MAIL   Вверх
max_lapshin
Дата 24.7.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 10.9.2006
Где: Москва

Репутация: 2
Всего: 3



$KCODE='u' но не это проблема. Там прежде всего синтаксис неправильный.
PM MAIL WWW ICQ Jabber   Вверх
anton4ept
Дата 26.7.2007, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.7.2007

Репутация: нет
Всего: нет



Цитата(FunnyFalcon @ 24.7.2007,  10:05)
Думаю, используется старая версия рельс. В этом случае в environments.rb укажите $kcode = 'u' (если не запамятовал) - это указание интерпретатору Ruby воспринимать исходный текст как utf8.

В последних версиях рельс это присваивание выполняется внутри фреймворка.

Ruby version 1.8.6
Rails 1.2.3
Использую InstantRails-1.7-win
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0600 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.