Как разрешить языки справа налево в Ruby on Rails 3 - PullRequest
4 голосов
/ 01 февраля 2011

Я заинтересован в создании веб-сайта на иврите с использованием Ruby on Rails 3. Проблема в том, что когда я представляю иврит в моем представлении, мне говорят, что он не поддерживается, и я должен добавить UTF-8.

Я работал над этим некоторое время, и я не могу найти, как это сделать.Я также использую Sqlite3, и я хотел бы сохранить там иврите.

Как бы мне этого добиться?

Код ошибки, который мне дают:

Your template was not saved as valid UTF-8. Please either specify UTF-8 as the encoding for your template in your text editor, or mark the template with its encoding by inserting the following as the first line of the template:...

Редактировать:

Проблема в том, что я работал над Notepad ++, который не сохранял мои файлы в формате UTF-8, хотя они были файлами в формате UTF-8.Решается путем изменения формата файла.

Ответы [ 5 ]

2 голосов
/ 06 декабря 2012

Если вы используете notepad ++, сначала установите кодировку «Кодировать в UTF-8», а затем начните кодирование. Если вы уже создали / сохранили файл, то просто изменить тип кодировки не получится. Вам нужно будет сохранить копию существующего кода, затем удалить существующий файл, открыть notepad ++, сначала установить кодировку (кодирование в UTF-8), а затем начать писать / копировать код в него. Таким образом обеспечивается кодировка utf-8, и вам не нужно помещать «# encoding: UTF-8» вверху файла.

2 голосов
/ 04 февраля 2011

Убедитесь, что в конфигурациях вашей базы данных по умолчанию используется utf-8, а не latin1. Если вы используете MySQL, измените его в «Мастере настройки экземпляра MySQL».

РЕДАКТИРОВАТЬ: попробуйте добавить этот код в контроллер вашего приложения:

class ApplicationController < ActionController::Base
before_filter :set_charset

def set_charset
@headers["Content-Type"] = "text/html; charset=utf-8"
end
end

Подробнее об этой статье: http://www.dotmana.com/?p=95

2 голосов
/ 02 февраля 2011

Вы должны попытаться добавить в первую строку ваших .rb файлов следующее:

# encoding: utf-8

и в первой строке ваших .erb

<%# encoding: utf-8 %>

encoding: utf-8 и coding: utf-8 и эквивалентны.

Надеюсь, это поможет.

1 голос
/ 08 ноября 2012

можно поставить

config.encoding = "utf-8"

в вашем config/application.rb, что эквивалентно

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

что в свою очередь эквивалентно положению:

# encoding: UTF-8

или спецификация вверху каждого файла.

Это позволяет использовать utf-8 во всех файлах приложения rails. Если вы хотите использовать глобальную опцию для всех файлов ruby, вы можете использовать опцию -Ku ruby ​​и установить ее с помощью переменной среды RUBYOPT, например:

export RUBYOPT=-Ku 
0 голосов
/ 04 февраля 2011

Это может быть вызвано самой кодировкой файла.Убедитесь, что вы установили UTF-8 в качестве кодировки по умолчанию для проекта в настройках вашего редактора / IDE.

Редактировать:

Вы можете проверить файл на кодировку с помощью:

file -I myview.erb.html

(это заглавная 'i').

...