Из комментариев на одном из сайтов Димы видно, что люди делают какие-то совершенно дикие выводы относительно моей эпической борьбы с UTF-8 в PHP. Кстати, она окончена, остались мелочи, доделки и доводки. На скриншоте — уже бета.
Так что небольшое FAQ.
В: Долго ещё до конца сериала? О: Следующая часть будет последней.
B: Что за проект переводится на UTF-8? О: Это внутренняя Вики, основанная на ВаккоВики, дописанная за годы использования и интегрированная с остальными внутренними сервисами. Её нередко можно встретить на слайдах презентаций «Яндекса».
B: Зачем переводится? О: Все остальные внутренние сервисы «Яндекса» на UTF-8, что делает задачу интеграции Вики иногда чрезвычайно сложной, кроме того, есть большая потребность научить нашу Вики работать не только с русскими и английским, но и с другими языками.
B: Нельзя ли переписать это всё на другой язык, где нет проблем с UTF-8? О: Можно, но это человеко-годы, я справился намного быстрее.
В: Зачем нужно было всё автоматизировать? О: Во-первых, автоматизированно было далеко не всё, некоторые места я искал в автоматическом режиме, а изменения приходилось вносить руками, во-вторых, всего было сделано несколько тысяч замен, можно ли такое количество заменить вручную, да ещё и не ошибиться?
В: Почему бы нанять сотню студентов, за копейки, чтобы они сделали замены руками? О: За этими студентами нужно проверять работу, кто это будет делать? Я за собой вычитывал исходники, распечатывал листы diff’ов, уходил куда-нибудь в переговорку и работал с бумажками — выделял карандашом проблемные места, потом новая итерация. Со скриптом проще — в одинаковых ситуациях он споткнётся одинаково, сотня студентов споткнётся сотней разных способов.
Комментарии 21
И даже не
Идут: арабский, санскрит, лаосский. Под японским идут хвосты тайского, но его почти не видно.
Заголовок это две кодировки: грузинский и арабский.
Болк, не планируешь все посты объединить в статью?
Длинноватая статья получится :) Её осилят единицы :) Разве что оглавление вынести.
*возвращается к написанию многоэтажных «SQL запросов» на Bash*
P.S. Может, я
То, что они (авторы языка) настолько протянули с Unicode, совершенно не делает им чести. Поддержка Unicode сейчас уже необходимость. Мы тоже всё новое пишем исключительно на Python.
Нам просто всё равно. Но так как наружу всё равно отдаватьUTF-8, выбрали его.
а в python все хорошо? символ по индексу в
В Python всё хорошо. Есть два типа строк — str (строка в однобайтной кодировке) и unicode (строка в Unicode). Всё, что есть в языке, в основном, понимает оба типа строк.
что-то однобайтное, может не получиться из-за отсутствия необходимых символов.
Выглядят они просто:
string = 'hi!' — это строка str
string = u'لغة تايلندية' — это строка unicode (начинается с «u»)
string[1] в обоих случаях вернёт правильный символ.
Преобразовать одну строку в другую легко. Ну, конечно, если unicode попытаться преобразовать во
Навалились всем могучим сообществом и решили, думаю так.
Комментарий для Евгения Степанищева:
А почему не взял их решение, а написал своё?
Ок, распишу. Правда, мне эта идея кажется странной.
Думаю, если напрягусь, я вспомню ещё
А зачем он мне? Самый главный труд — это замены обычных вызовов на
А свои добавления и исправления в http://wackowiki.org сливали? Это которая «wackowiki.org R4.4.rc1 -> feature freeze» сегодня.
Не нашёл оглавления, надёргал сам. Положи
[Q] /all/2704
/all/2706
/all/2707
/all/2708
/all/2714
/all/2715
/all/2719
/all/2727
/all/2728
/all/2734
/all/2757
/all/2764
/all/2769
/all/2787
/all/2807
/all/2810
/all/2828[Q]
Мда, минут опять ушло, чтобы найти эту ссылку на сайте :)