Теперь все 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 перенимает его функционал в полном обьеме).
Ура товарищи.