Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: loxs в Jun 13, 2008, 01:48



Титла: Bulgarian letters character mapping problem
Публикувано от: loxs в Jun 13, 2008, 01:48
Здравейте, днес се сблъсках с един проблем, който е доста далеч от областите в които съм компетентен (никога не съм се занимавал с локализация повече от това да си настроя да мога да пиша на кирилица).

Проблемът започна от там, че postgresql сървърът ми не различава българските главни от малки букви. Тоест, при case-insensitive търсене, връща резултати като от case-sensitive търсене, защото за него българското "а" не съответства на българското "А".

Доста търсих, в доста канали (международни) питах, но в крайна сметка никой не можа да ми помогне за такъв специфичен български проблем. Ето малко подробности:

Примерен код
loxs@aoede ~ $ tr '[:upper:]' '[:lower:]'
Ж
Ж
J
j

Както е видно, инструментът превежда латински букви от главна в малка, но не превежда български.

Операционната ми система е Gentoo, locale настройките са ми както следва:
Примерен код

aoede lib # locale
LANG=
LC_CTYPE="bg_BG.utf8"
LC_NUMERIC="bg_BG.utf8"
LC_TIME="bg_BG.utf8"
LC_COLLATE="bg_BG.utf8"
LC_MONETARY="bg_BG.utf8"
LC_MESSAGES="bg_BG.utf8"
LC_PAPER="bg_BG.utf8"
LC_NAME="bg_BG.utf8"
LC_ADDRESS="bg_BG.utf8"
LC_TELEPHONE="bg_BG.utf8"
LC_MEASUREMENT="bg_BG.utf8"
LC_IDENTIFICATION="bg_BG.utf8"
LC_ALL=bg_BG.utf8


Когато използвам en_US.utf8 локал, положението е абсолютно същото..

Благодаря предварително!


Титла: Bulgarian letters character mapping problem
Публикувано от: edmon в Jun 13, 2008, 11:02
не че знам що така, ама щом и с en_US  е така
значи нещо друго не е наред ! :)
а постгре нали има регекспр  :)


Титла: Bulgarian letters character mapping problem
Публикувано от: rpetrov в Jun 13, 2008, 20:55
Е tr е една от програмите, при който не става в случай на UTF-8. Ще сработи, ако се ползва при 8-бита.

За postgresql - не съм се занимавал с локализационните му възможности.


Титла: Bulgarian letters character mapping problem
Публикувано от: loxs в Jun 14, 2008, 15:21
Проблемът е решен. Ъпгрейд до postgresql-8.2 оправя case-insensitive търсенето.


Титла: Bulgarian letters character mapping problem
Публикувано от: eniac111 в Jun 14, 2008, 22:34
Perl?