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

Ruby On Rails in UA/Ruby /Русский язык в .rb ?

2008-07-28 14:21:43 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
Русский язык в .rb ?
  •  
( ruby 1.8.6)Вообщем вопрос вот в чем, например код в .rb файле puts "Привет" - получается что то вроде вот этого 244\233 ну вообщем так. если в начале файла прописать $KCODE = "utf-8" все равно так же выводится, скачал гем установил gem gettext и все равно , не получаеться! а в руби 1.9 все нормально с русским! но я не смог на нем + rails 2.1 сервак запустить, пишет какие то синтаксические ошибки ((((( скажите как 1.8.6 с русским подружить ?
------------
http://www.plurk.com/user/foi
2008-07-28 14:26:19 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: Русский язык в .rb ?
  •  
Так. Пора прописывать в правилах указание окружения в котором возникают проблемы.

Платформа win/*nix ? Кодировка начального файла ? Кодировка локали(консоли)?
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-07-28 14:52:27 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
Windows, utf-8, ура я на Heroku.com кому надо инвайт стучитесь в асю 441414441, на хероку без всяких геморов русский работает, и в rb и в rhtml / http://untitled-6e5646.heroku.com/hello/say
------------
http://www.plurk.com/user/foi
2008-07-28 14:53:31 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
кодировка консоли хз

если в ide запускать напрмер netbeans или visual studio там тоже руский непонятно выводится
------------
http://www.plurk.com/user/foi
2008-07-28 15:45:48 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: Русский язык в .rb ?
  •  
Ты под какой системой работаеш ? windows или Линукс ?

Если винда, то никак потому как у нее кодировка консоли dos ... пиши файлы в dos кодировке будеш получть на консоли разборчиво.
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-07-28 16:03:06 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
У меня Windows XP SP3 5512 rtm
------------
http://www.plurk.com/user/foi
2008-07-28 16:04:06 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1294
Регистр: 2007-03-13
его блог 40 сообщ.
RE: Русский язык в .rb ?
  •  
К стати ты говоришь что в хероку все работает так естественно ни же даю тебе все в utf8
------------
Занимаюсь вебом и продвижением сайтов.
2008-07-28 18:36:53 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
ничего не понял из поста выше, на хероку все в utf-8 и с русским все ок, но и у меня на на локали тоже utf-8 а в rb и rhtml крякозбры
------------
http://www.plurk.com/user/foi
2008-07-28 21:00:29 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1294
Регистр: 2007-03-13
его блог 40 сообщ.
RE: RE: Русский язык в .rb ?
  •  
Так ты тогда более подробней описывай свою проблему.
Начнём с того, что если ты пользуешься NetBeans то в свойствах проекта надо выставь что ты используешь кодировку UTF8 тогда после редактирования файлов ты получишь нормальный текст, хотя еще надо проверить какая кодировка у тебя стоит в браузере и какой хедер выдает твое приложение.
Так что проверяй все что можешь.
------------
Занимаюсь вебом и продвижением сайтов.
,
2008-07-29 04:21:46 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
В Netbeans у меня стоит UTF-8, браузеры FF3.0.1 IE7 даже принудительно выставляешь UTF-8 все варианты перепробывал все равно крякозябры.
------------
http://www.plurk.com/user/foi
2008-07-29 04:43:53 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
ПОдробнее например: из rb скриншот = http://foi.xaker.ru/ruBug.jpg , c RHTML я разобрался rails почему то странички в UNIX-ANSI генерирует, как заставить в UTF-8 ? перекодировка rhtml в UNIX-UTF-8 позволяет видеть правильно русский. такая же процедура, но с rb никчему не привела скриншот = http://foi.xaker.ru/rb.png
------------
http://www.plurk.com/user/foi
2008-07-29 10:18:00 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1294
Регистр: 2007-03-13
его блог 40 сообщ.
RE: RE: Русский язык в .rb ?
  •  
ТЫ в хереде страницы выставляешь кодировку ...???


У тебя страница должна начинаться так
------------
Занимаюсь вебом и продвижением сайтов.
2008-07-29 10:37:22 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
Да в хидере все по умолчанию так идет как ты написал ! )с RHTML я уже разобрался ! ) но рельсы (2.1) генерят rhtml в ansi-unix а в хидере rhtml написано utf-8, перекодировкой в utf-8 с помощью np++ решаеться проблема, но! как быть с .rb файлами (
------------
http://www.plurk.com/user/foi
2008-08-03 13:38:14 Ответить  
keymone
Макс
Адрес:
Сообщений: 3
Регистр: 2008-08-03
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
імхо ніякої кирилиці в сурсах бути не повинно взагалі
а джема геттекст створена саме для того шоб ніякої кирилиці в сурсах не було :)
2008-08-03 16:32:43 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: Русский язык в .rb ?
  •  
Гем gettext саме створеный для того, щоб ты не переймався тим, що в тебе в сурцях: кирилиця чи латиниця!.

Iнша страва, кодування.
Пiд win немае нормальноi пiдтримки utf-8.
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-08-04 06:40:04 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
я вас не понимать )
------------
http://www.plurk.com/user/foi
2008-08-04 09:13:41 Ответить  
keymone
Макс
Адрес:
Сообщений: 3
Регистр: 2008-08-03
его блог 0 сообщ.
RE: RE: RE: Русский язык в .rb ?
  •  
ну тут можна посперечатися.. сам підхід до справи "шоб я не переймався шо там в сурцях" є в корені неправильним. в сурцях все має бути правильно від початку і до кінця ) ну і на мою думку кирилиці в сурцях не місце - від неї тільки гемор і одну з причин ти вже вказав - не всюди є нормальна підтримка утфу. інша причина - не у всіх рівні руки і редактори до редагування утфних файлів. коротше кажучи без утфу нема проблем, з утфом проблеми можуть вилізти.
2008-08-04 09:17:31 Ответить  
keymone
Макс
Адрес:
Сообщений: 3
Регистр: 2008-08-03
его блог 0 сообщ.
RE: RE: Русский язык в .rb ?
  •  
я по русски не писатель, я читатель :)
вкратце - лучше не пиши ничего русского в rb файльі, но ето имхо и ето не касается erb файлов(или rhtml)
2008-08-04 11:55:41 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: RE: RE: Русский язык в .rb ?
  •  
2 Макс

Пояснюю на пальцях. Гем gettext дає тобі функцію _(), в яку ти записуєш ресурсні рядки для перекладів. При цьому обмеження на них не накладаються: це може бути текст як латиниця так і кирилиця. Ось що я мав на увазі коли казав "не перейматися".

З utf-8 проблемы виникають переважно на Win де основне кодування win1251, консоль в dos кодуванні, а система працюе з файловим деревом виключно в utf-8

Ось статі які можливо допоможуть побороти хоча б частину проблем з кирилицею "не utf-8"
кодувань

http://rubyhammer.com/articles/2008-07-25-161200-rutils-kirilitsa-v-ruby-i-rails
http://rubyclub.com.ua/blogs/20.html
http://rubyclub.com.ua/blogs/17.html
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-08-04 17:07:17 Ответить  
foifirst
foi
Адрес: Russia, Abakan
Сообщений: 10
Регистр: 2008-07-28
его блог 0 сообщ.
RE: Русский язык в .rb ?
  •  
Благодарю всех ) вообщем чего, ждем руби 2.0 , а сейчас кодим на том что есть
------------
http://www.plurk.com/user/foi
2008-12-17 19:24:44 Ответить  
zloy
Zhoran Tvalwe
Адрес: Москва
Сообщений: 23
Регистр: 2008-12-17
его блог 0 сообщ.
Русский язык в .rb ? - Возможно!
  •  
Вот тут http://ruby-gnome2.sourceforge.jp/hiki.cgi?tips_i18n 4 способа описано, правда на английском. Я сейчас тестирую способ №1 - пишу исходники в кодировке UTF-8. Пока все устраивает.

Раньше писал все стрточки по английски - русские строки тоже не переваривались при компиляции или были кракозябры. До какого-то момента обходился английским, но сейчас уже RegExp-ы надо писать с русскими буквами, так что вынужден.

Чтобы все работало надо сделать следующее:

1) установить переменную окружения $KCODE=UTF-8. Установи ее в системных переменных или в пользовательских, затем запусти cmd и выполни команду SET. Среди переменных окружения в самом начале должна быть $KCODE.

2) Выбери редактор, поддерживающий UTF-8. Я привык к редактору FAR-а, но пришлось отказаться - сам он не поддерживает UTF-8, а тот плагин, который я попробовал - uwizard - мне не понравился. Я выбрал notepad++. Он кстати настолько превосходит notepad, насколько Bat превосходит OutlookExpress.

3) В этом редакторе создай новый файл. При этом в меню notepad++ надо выбрать формат файла - Encode in UTF-8 without BOM. В таком случае он не добавит в начало файла сигнатуру UTF, которую ruby не переваривает, но сохранит русские буквы в UTF-8. Я сначала выбрал формат UTF-8, но ruby принял сигнатуру за метод и стал ругаться.

4) Забей в файл 'new 1.rb' код для проверки. Например, такой:


5) запусти: ruby "new 1.rb". То что выводится на экран консоли смотри в прикрепленном файле "new 1_rb example"

Кириллица в Rails View и Controller тоже будет в UTF-8, но вот будет ли она отображаться корректно в браузере зависит от того, какой мета-тег указан в заголовке html таблицы. Это делается в layout:

Если по какой-то причине нужно использовать другую кодовую таблицу, то надо опять же пользоваться перекодировщиком, т.к. Ruby в исходниках - в *.rb, *.rhtml файлах - не понимает нац. символов кроме японских и UTF-8.


Резюме:
1) $KCODE дает знать Ruby, что текстовые объекты могут содержать коды UTF-8 и Ruby не ругается на них. Чтобы методы String#each_char,length,некоторые другие работали правильно понадобится установить дополнительный gem. Ну а если не лезть внутрь строки, то все должно и так работать.
2) консоль ожидает получить строки в кодировке 866 (MS-DOS), а Ruby передает ей строки в UTF-8. Отсюда и кракозябры при печати в консоли. Для того, чтобы перекодировать UTF-8 в 866 и нужен iconv.
3) как выглядит файл в Far (опять кодировка 866) можно посмотреть в файлах new 1_rb example 2.png и new 1_rb example 3.png


Присоединенные: new1_rbrexample.png [12 KB] new1_rbrexample2.png [15.4 KB] new1_rbexample3.png [15.7 KB] , ,
2008-12-17 20:09:03 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: Русский язык в .rb ? - Возможно!
  •  
Оно-то конечно ДА.
А сюда ты смотрел http://rubyclub.com.ua/blogs?page=7
:-)
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-12-17 20:21:17 Ответить  
zloy
Zhoran Tvalwe
Адрес: Москва
Сообщений: 23
Регистр: 2008-12-17
его блог 0 сообщ.
RE: RE: Русский язык в .rb ? - Возможно!
  •  
да, ты хорошо написал.
Если буду конвертить регистр так и сделаю :)

Тут я другой аспект рассматривал - корректная печать русских символов в консоли и в браузере, как в исходниках русский использовать в текстовых константах (которые значения текстовых объектов;) а преобразования регистра строк, подсчет символов это смежная, но другая тема.

PS
FAR все-таки весчь ;)) Жаль что UTF там так криво поддерживается.
2008-12-17 22:11:05 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: RE: Русский язык в .rb ? - Возможно!
  •  
Да поставь себе на виртуалке какую-нить убунту или лучше Debian.
И проблема отпадет сама. Или вообще Netbeans или Eclipse.
Вообще тема выеденного яйца не стоит. Не вижу смысла вообще разрабатывать для WEB сидя под форточками.
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-12-18 09:12:11 Ответить  
zloy
Zhoran Tvalwe
Адрес: Москва
Сообщений: 23
Регистр: 2008-12-17
его блог 0 сообщ.
RE: RE: RE: RE: Русский язык в .rb ? - Возможно!
  •  
Тему "поставь Linux и проблема отпадет" обсуждать мне не интересно - заведи себе отдельный топик и вперед. Если эта тема для тебя выеденного яйца не стоит, то тебе не стоит тратить свое время, печатая в этой теме пустопорожние посты вроде этого:

"Да поставь себе на виртуалке какую-нить убунту или лучше Debian.
И проблема отпадет сама. Или вообще Netbeans или Eclipse.
Вообще тема выеденного яйца не стоит. Не вижу смысла вообще разрабатывать для WEB сидя под форточками. "
2008-12-18 10:00:26 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: RE: RE: RE: Русский язык в .rb ? - Возможно!
  •  
Ты, видать, в промышленном масштабе руби не использовал. Врядли какой ПМ позволит тебе баловаться такой темой, а не даст пинка и посадит за нормальное IDE, а не за файловый манагер поддержка которого закончилась 2 года тому назад, а оперсорц релиз так и не вышел.


Bat превосходит OutlookExpress

Ты глупости говориш. Еще скажи, что "qip превосходит миранду". OE - почтовый менеджер промышленного масштама, интегрированный со всей линейкой продуктов M$. Bat - поделка талантливый программеров, желающих подзаработать.

А поскольку ты говориш глупости в этом форуме то я тебе даю дельный совет.

Номальная комфортная разработка на Ruby(RoR) возможна в данный момент на *nix подобных системах(FreeBDS(есть проблемы потому как в консоли до сих пор 8ми битная кодировка), Linux, MacOS)


Система которая имеет кодировку windows-1251 для интерфейса, CP866 - для консоли, а на уровне файловой системы работает в UTF-8 для этого не пригодна.

Попытка обойты эти сложности есть пустая трата времени разработчика и денег заказчика.


З.Ы. Прежде чем давать "советы" и "оценивать" высказавание других надо прочесть правила форума о заполнении профайла и достоверности предоставлемых данных. Если ты не соблюдаеш правила то и другие не будут этого делать.

З.Ы.Ы. Заведи себе отдельный форум или я попрошу Руслана завести тебе форум "Руби для мазохистов: Мы не ищем легких путей"

------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-12-18 10:13:19 Ответить  
zloy
Zhoran Tvalwe
Адрес: Москва
Сообщений: 23
Регистр: 2008-12-17
его блог 0 сообщ.
RE: RE: RE: RE: RE: RE: Русский язык в .rb ? - Возможно!
  •  
Дружище, ты это ... лучше вали из темы по-тихому. Твои непрошенные советы никого не интересуют, в отличие от реальных ответов на поставленные вопросы от обычных людей.

Я не занимаюсь промышленной разработкой, мы ее в этой теме не обсуждаем, а свои резкие оценки держи при себе, а лучше запихни их себе в з...... (подбери правильное слово). Вот там им самое место.
2008-12-18 16:54:52 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 310
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: RE: RE: RE: RE: RE: Русский язык в .rb ? - Возможно!
  •  
Bla Bla Bla ... слышали такое.
Я буду следить за тобой. Говори только о том, что точно знаеш, или принимай критику должным образом.

------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 197 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008