Чӑвашла сӑмахсене сортланӑ чухне «Ӑ», «Ӗ», «Ҫ», «Ӳ» саспаллисем мала тухса тӑраҫҫӗ. Мӗншӗнни те паллӑ — эпир усӑ куракан ҫак саспаллисен кочӗ «А», «Б», «В» тата ыттисенчен пӗчӗкрех. «Ӳ» усӑ курнӑ чухне чылай чухне ҫак саспалли «Я» хыҫне кайса тӑрать. Сӑлтавӗ — саспалли кочӗ «Я» саспаллийӗнчен пысӑкрах пулнинче. Ҫак тӗрӗсмарлӑх чӑваш чӗлхи компьютерта сахаллӑн усӑ курнипе ҫыхӑннӑ. Тӗнчере ҫеҫ мар, Раҫҫей шайӗнче те пирӗн саспаллисене вырӑна лартассишӗн никам та тӑрӑшмасть. Ҫавӑнпа та ку ӗҫе хамӑрӑн тума тивет.
Чи малтан пирӗн мӗн пӗлмелле? Компьютерта саспалли йӗркине ятарласа вырнаҫтарасси пур. Вӑл переменнӑй, ытмашуҫӑ ӗнтӗ, «локаль» шайне кӗрет. LC_COLLATE ятлӑ. Ҫак япалана операци системине пииитӗ шала кертсе лартнӑ, ахаль улӑштарма питӗ йывӑр. Вырӑссен тахҫанах хатӗр пулнӑран, мӗнле майпа кӗрсе каймаллине те чухлама, тупма йывӑр. Тахҫанах тапӑҫланатӑп пулин те халь тин кӑштах майне тупрӑм пулас. MySQL базинче те пулин епле майпа тӗрӗс сортламаллине вӗренсе ҫитрӗм. Халь ӗнтӗ сире каласа парасшӑн.
MySQL базӑра саспаллисене тӗрлӗ майпа йеркелеме пулать. Ҫав йӗркесене charset япалара ҫырса хунӑ. База мӗнле йӗркесене пӗлнине ҫак хушупа пӗлме пулать:
Кунта эп сирӗн ума пирӗн серверти пӗр пайне ҫеҫ илсе кӑтартрӑм. Хайхи таблицӑсем йӗркеленӗ чухне ҫак йӗркелевсенчен пӗрине кӑтартмалла та — сӑмахсем ун йӗркипе вырнаҫӗҫ. Шел те, чӑвашли ҫук вӗсен хушшинче. Тума тивет. Паян ҫӑрӑлтӑм-ҫӑрӑлтӑм та тумалли йӗркене ӑнлантӑм пулас.
Ҫак саспаллисен йӗрки серверӑн пӗр ятарлӑ папкинче вырнаҫнӑ.
mysql> SHOW VARIABLES LIKE 'character_sets_dir';
+--------------------+----------------------------+
| Variable_name | Value |
+--------------------+----------------------------+
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------+----------------------------+
1 row in set (0.00 sec)
Ҫавӑнта куҫмалла та Index.xml файла тупмалла. Кунта чарсетсен йышӗ вырнаҫнӑ. «utf8_unicode_ci» текенни пире пӗтӗм енчен тивӗҫтерет темелле, ӑна кӑшт кӑна тӳрлетес пулать. Хайхи ҫав файла уҫатпӑр та utf8 пайне тупатпӑр:
Чи малтан пирӗн ҫӗнӗ collation кӗртмелле ҫакӑнта. Эпир ун ятне «utf8_chuvash» ят парӑпӑр. Тепӗр самант, пирӗн саспалли йӗркин идентификаторне палӑртасси (id). Вӑл ыттисемпе пӗр пек пулмалла мар, ҫаванпа та эп ӑна 233 номер патӑм.
Эп кунта ҫавӑн пекех «Ӳ», «ӳ» саспаллисене те кӗртрӗм. Юнашар пулччӑр тесе.
Хайхи пирӗн Index.xml файла ҫак улшӑнусене кӗртмелле те MySQL сервера чарса ҫӗнӗрен ямалла.
mysql> SHOW COLLATION LIKE 'utf8_chuvash';
+--------------+---------+-----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+--------------+---------+-----+---------+----------+---------+
| utf8_chuvash | utf8 | 233 | | | 8 |
+--------------+---------+-----+---------+----------+---------+
1 row in set (0.00 sec)
Ак вӑл пирӗн вырнаҫӑннӑ та. Малалла пирӗн таблицӑн йӗркелевӗ ҫак utf8_chuvash пулнине кӑтартмалли ҫеҫ юлать. Ун хыҫҫӑн сортлани — йӗркеллех. Электронлӑ вулавӑшри ҫыравҫӑсен ячӗсем халӗ, ҫак улшӑнусене кертнӗ хыҫҫӑн, тӗрӗс йӗркепе вырнаҫнине курма пулать.
Малалла ҫак йӗрке ҫине ытти сайтсенчи таблицӑсене те улӑштарса тухӑп. Тӗслӗхрен, электронлӑ сӑмах пуххинче ку питӗ кирлӗ.
//ку текста опечаткӑсенчен тасатман.
Editorial note: The publication of articles does not mean that the editorial board shares the opinion of its authors.