juliklive , venting since 2003

Теперь все Rails-разработчики Unicode-enabled

С внесением в код Rails набора изменений 5223 мы можем ответственно заявить, что теперь мы предоставляем более чем пристойную поддержку Unicode в Rails, примерно на уровне MediaWiki. С опциональным бакендом на С для ускорения самых емких операций, полностью в нативном для Ruby UTF-8.


Чтобы быть точнее, внутри Rails, сегодня, на любой инсталляции Ruby на любом сервере мы предоставляем оттестированную, соответствующую Unicode 5.0 реализацию следующих функций:

  • Конверсия регистра из прописных в строчные и обратно
  • Нормализация и композиция во всех формах
  • Разбиение на читаемые буквы (кластеры графем) поверх стандартного разделения на кодпойнты
  • Очистку Unicode-строк, загрязненных Windows-1251 кавычками и тому подобным говном
  • Корректный random-access к символам в строке и итерацию по ним, включая корректные truncate и excerpt

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

Огромное спасибо Тейсу и Манфреду из Fingertips за то что они дошлифовали мой патч до состояния пригодности, и Яну Беренсу за utf8_proc.

Помимо этого, в ближайшее время (до версии 1.2) Rails адаптирует UTF-8 как кодировку по умолчанию для ввода, вывода и операций с базой данных. Как следствие – если вы являетесь Японским Негодяем (с каким-нибудь JIS) или Бородатым Державным Троглодитом (с каким-нибудь KOI-8) я желаю вам сгнить в колодце успеха.

В дополнение к этому плагин unicode_hacks при следующем апдейте Rails может покинуть ваше приложение (Rails перенимает его функционал в полном обьеме).

Ура товарищи.

Suspects: Веб-стройка Юникод

What others said

Arefiev

Искренне поздравляю Вас и все сообщество!

Van

Серьезная работа. Респект.

Anatol Pomozov

Искренний респект, Юлик, за то, что смог сделать true Unicode реалиями в Rails.

Ярослав Маркин

Of the world. Большая работа!

PS: Неужели в Basecamp будет нормальный юникод :)

Иван Сагалаев

И я поздравляю! Большое дело.

Макс Лапшин

Супер!

Julik

В Basecamp в первую очередь, поскольку шевеление началось только после того как Самому Главному были отправлены появляющиеся в бейскампе вопросики

Ярослав Маркин

Что касается BC.. :)

Я им в суппорт несколько раз писал по поводу кривой сортировки, не то что вопросиков -- мне просто не ответили.

kukutz

теперь мы предоставляем более чем пристойную поддержку Unicode в Rails, примерно на уровне MediaWiki

Пишу из-под стола. Вы видели, КАК оно внутри в MediaWiki сделано?

Julik

Конечно видел. В связи с родовыми травмами PHP сделано оно криво но формальный функционал присутствует и работает (нормализация, casefolding, очистка ввода). На него я и ссылаюсь. Инструментально наше решение далеко не такое вонюче-волосатое.

Julik

Чтобы не быть голословным - то, на что вы ссылаетесь словом КАК сделано там только для убогих без mbstring, на которых в случае с PHP надо вообще забивать.

Зверёк Харьковским

А простым безрельсовым смертным это счастье нельзя ль как-нито поиметь?

Julik

почему нет? можно - когда обновятся все рельсы require 'activesupport'

Dmitry Sabanin

Огромный респект тебе. Я наблюдал чего тебе стоило это решение проблемы с юникодом в rails-core, и на мой взгляд это подвиг. Спасибо.

P.S. Хотел бы я иметь столько терпения и настойчивости ;-)

Влад Зараковский

Присоединяюсь к поздравлениям. Огромное спасибо!

Slach

поздравляю, это огромный шаг в перед

Иван Евтухович

А в какой версии rails этот фикс будет?

Или это пока только в edge?

Julik

пока только в edge будет в 1.2

antono

Юлик, пеши ещё!

mblsha

Woohoo!

bio

Отлично! 10x!

Роман Токарев

Респект! Наконец-то.

Oleg

Расскажите чукче как из этого svn вставить в рельсы шобы работало?

rj_

Просто огромное человеческое спасибо! :)

Vitaliy

Огромное спасибо за то что так хорошо пишешь вообще, и за UTF-8 в частности!

Have a word?


Please do not go bonkers with code blocks, links and viagra ads, we are taking measures