Социальные сети

Итак, сегодня я постараюсь ответить на популярную проблему как пропатчить KDE UTF-8 под FreeBSD.

В один прекрасный момент переноса базы данных с тестового сервера на продакшн для подготовки бета версии я больно стукнулся головой об
проблему с UTF-8 строками в PostgreSQL. А точнее, натолкнулся на полное нежелание PostgreSQL выдавать на запрос SELECT
upper('суслик') положенного по штату "СУСЛИК"а. В результате поиска баги я был в шоке, так как совсем не ожидал от
современной операционки таких, совсем уже детских, ляпов!

Для начала немного теории. PostgreSQL собранный из портов во фряхе для работы с юникодными строками использует системный LC_COLLATE. Для
того чтобы понять в чем грабля мне понадобилась всего одна команда:

$ ls -l /usr/share/locale/ru_RU.UTF-8/LC_COLLATE
lrwxr-xr-x  1 root  wheel  28 Dec  3 23:30 /usr/share/locale/ru_RU.UTF-8/
LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE

Отойдя от шока, я полез в гугл, искать рецепт лечения сего безобразия. Его я вам и предлагаю:

  1. Для начала необходимо пропатчить KDE UTF-8 под FreeBSD (мои благодарности автору решения):

    wget http://blog.lexa.ru/files/ru_RU.UTF-8.LC_COLLATE.tar.gz
    tar xzvf ru_RU.UTF-8.LC_COLLATE.tar.gz
    cd ru_RU.UTF-8.LC_COLLATE
    make freebsdsort или make universal
    su
    make install
    
  2. Но на это проблема не закончилась. Если у вас PostgreSQL инициализирован в кодировке отличной от ru_RU.UTF-8, то этого патча будет
    недостаточно. Необходимо будет провести переинициализацию БД (что меня, конечно, абсолютно не обрадовало).
  3. Делаем дамп нашей базы (pg_dump или pg_dumpall).
  4. Останавливаем PostgresSQL:

    /usr/local/etc/rc.d/postgresql stop
    
  5. В файл /etc/login.conf добавляем следующие строчки:

    postgres:\
    :lang=ru_RU.UTF-8:\
    :setenv=LC_COLLATE=C:\
    :tc=default:
    
  6. В файл /etc/rc.conf добавляем флаг для правильной инициализации:

    postgresql_initdb_flags="--locale=ru_RU.UTF-8″
    
  7. Инициализируем базу:

    /usr/local/etc/rc.d/postgresql initdb
    
  8. Заливаем обратно нашу базу. Вуаля!

И еще несколько комментариев по поводу...

  • Баян судя по всему достаточно старый, поскольку тикету по данной проблеме не так давно исполнилось 2 года :). А первые упоминания датируются вообще 2005 годом.
  • Скорость :( К сожалению скорость сортировки строк UTF-8 с применением данного патча в 10 раз медленнее чем, например, сортировка в
    локале ru_RU.KOI8-R, и почти в 30 раз медленнее чем в локале С.















Последние новости


Шаг 5. Выбираем фирменное наименование организации

Если вы собираетесь регистрировать новое юридическое лицо, то перед вами неизбежно встают необходимость выбора его названия и ряд сопутствующих вопросов. Следует ли проверять выбранное наименование организации на уникальность перед подачей документов на регистрацию? Можно ли зарегистрировать компанию с таким же наименованием, как и у другой, уже существующей орган...
Читать далее »

Шаг 4. Выбор системы налогообложения

Действующее налоговое законодательство позволяет налогоплательщику в некоторых случаях значительно уменьшить сумму уплачиваемых налогов путем грамотного выбора режима налогообложения. Выделяют общий режим налогообложения и специальные налоговые режимы, которые следует отличать от льготных режимов. При применении общего режима налогообложения налог...
Читать далее »

Аренда помещений

Самым тесным образом с фактическим адресом организации связана Аренда Ею помещений, необходимых для налаживания выбранных видов деятельности. Для деятельности любой организации необходимо помещение. Однако недвижимость стоит сейчас очень дорого, и лишь немногие организации в состоянии приобрести помещение в собственность. В связи с этим значительная част...
Читать далее »

Шаг 3. Выбираем место нахождения организации

МЕСТО НАХОЖДЕНИЯ ОРГАНИЗАЦИИ, ЕЕ ЮРИДИЧЕСКИЙ, ФАКТИЧЕСКИЙ И ПОЧТОВЫЙ АДРЕСА В ГК РФ приведено понятие «место нахождения юридического лица» – так называемый юридический адрес, официально зарегистрированный в ЕГРЮЛ. Однако юридическое лицо может располагаться и по другому адресу – фактическому. В гражданском законодательстве не содержит...
Читать далее »

Карточка

С образцами подписей и оттиска печати ...
Читать далее »

Форма

Документа, подтверждающего наличие лицензии Приложение 26 СЕРТИФИКАТ СООТВЕТСТВИЯ ...
Читать далее »

Уведомление

О регистрации юридического лица в территориальном органе Пенсионного фонда Российской Федерации по месту нахождения На территории Российской Федерации Приложение 22 Свидетельство О регистрации страхователя в территориальном фонде Обязательного медицинского страхования При обязательном мед...
Читать далее »