LINUX.ORG.RU

MS SQL 2005 соединен с Ruby on Rails, неверная обработка кодировки, CP1251 и UTF-8


0

0

Соединил я Ruby in Rails с MS SQL 2005, связи отлично работают, но вот русский язык не пашет, дает вопросы вместо кириллицы. Как соединял описал здесь: http://drazdsoft.com/articles.php?article_id=5 database.yml

development:

adapter: sqlserver mode: odbc dsn: mssql username: sa password: root

Основная проблема в том, что MS SQL, как рассово верный MS продукт, дает кириллицу в CP1251, а RoR, как рассово-верная веб-платформа, работает и выдает страницы исключительно в UTF-8

Ищу решение проблемы с кодировкой уже несколько дней, пока наткнулся на такое вроде подействовавшее у кого-то решение: http://rubyclub.com.ua/messages/show/6368-Кодировка-при-переходе-с-Linux-mysq... , но у меня такое не сработало.

Прошу помощи, может кто знает как еще можно решить (может обмальцевать MS SQL как-то?)

MS SQL под виндой, RoR под Turnkey Linux



Последнее исправление: drazd (всего исправлений: 2)

ответ очевиден всем кроме автора вопроса: проблема решается выкидыванием MS SQL 2005.

gena2x ★★★
()

* добавить в development.yml опцию encoding: cp1251 ?
* переконвертировать ms sql базу в utf8
* избавиться от ms sql.

volh ★★
()

Решение было совсем рядом. Все было сделано верно, за исключением одного. В настройках FreeTDS нужно поставить client charset = cp1251 не только в текущем соединении, но и в области global. Все. После этого принимаются русские буквы (ну и для перевода используется материал из указанной выше ссылки). На счет FreeTDS - дописал статью по соединению Linux с MS SQL + написал статейку по настройке соединения в RoR. Все на моем сайте

drazd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.