Asosiy qismga oʻtish
yangiça

2 daqiqa oʻqishga

Yangi harflar bilan qidiruv va saralash: dasturchilar uchun izoh

Islohot matnni oʻzgartirdi, demak u bazani, qidiruvni va saralashni ham oʻzgartirdi. Quyida — deyarli hamma duch keladigan toʻrtta xato.

Qidiruv hech narsa topmaydi

Bazada Toshkent, foydalanuvchi Toşkent deb yozadi — mos kelish nolga teng. Yechim bitta: solishtirishdan oldin soʻrovni ham, indeksni ham bitta shaklga keltiring. Qaysi biriga — muhim emas, muhimi ikkalasiga bir xil.

Saralash notoʻgʻri ishlaydi

Odatiy saralashda ö va ğ z dan keyin ketadi, chunki ularning kod raqami kattaroq. JavaScriptda Intl.Collator("uz-Latn"), PostgreSQLda COLLATE "uz-Latn-x-icu" kerak boʻladi.

Turkcha i

Yangi harflar turk alifbosida ham bor, shuning uchun tr lokalini "oʻxshash" deb olish vasvasasi paydo boʻladi. Olmang: turk lokalida "i".toUpperCase() İ beradi, oʻzbekchada esa I kerak. Faqat uz yoki lokalsiz.

Unicode normalizatsiyasi

ö bitta kodpoint boʻlib ham, o va qoʻshiluvchi belgi boʻlib ham keladi — ikkinchisi macOS fayllari uchun odatiy hol. Kiruvchi matnning hammasini normalize("NFC") orqali oʻtkazing, aks holda bir xil koʻrinadigan ikki qator teng boʻlmay qoladi.

Apostroflar

Odamlar ', ’, `, ʻ va ʼ — hammasini yozadi. Qabul qilishda bittasiga keltiring, chiqarishda esa doim ʼ (U+02BC) koʻrsating.