Fórum Živě.cz

Víc lidí víc ví
Právě je 6. 3. 2021 06:37

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 4. 1. 2021 17:09 
Offline
Junior
Uživatelský avatar
Zdravím,

mám následující mysql dotaz, který ovšem nefunguje korektně. Umí to najít "škoda", když je v DB "ŠKODA", umí to najít "pojis", tam kde v DB je "pojišťovna", ale už ne "pojist". Pravděpodobně to umí ignorovat jen jedno písmeno s diakritikou. Kde je problém?

Děkuji moc předem! :)

Kód:
$result1 = mysqli_query($pripojeni,"select * from klienti WHERE firma REGEXP '" . strtr(quotemeta($search), array(
        "c" => "[cčCČ]",
        "C" => "[cčCČ]",
        "č" => "[cčCČ]",
        "Č" => "[cčCČ]",
        "d" => "[dďDĎ]",
        "ď" => "[dďDĎ]",
        "D" => "[dďDĎ]",
        "Ď" => "[dďDĎ]", 
        "r" => "[rřRŘ]",
        "R" => "[rřRŘ]",
        "ř" => "[rřRŘ]",
        "Ř" => "[rřRŘ]",
        "s" => "[sšSŠ]",
        "š" => "[sšSŠ]",
        "S" => "[sšSŠ]",
        "Š" => "[sšSŠ]",
        "z" => "[zžZŽ]",
        "Z" => "[zžZŽ]",
        "ž" => "[zžZŽ]",
        "Ž" => "[zžZŽ]",
        "t" => "[tťTŤ]",
        "ť" => "[tťTŤ]",
        "T" => "[tťTŤ]",
        "Ť" => "[tťTŤ]"
        )) . "'");


PS kodování je utf8_general_ci

-- 4. 1. 2021 17:40 --

Tak jsem zjistil, že když pokud není vyhledávané písmeno v řetězci na prvním místě, je potřeba napsat dvakrát ...
škoda > ŠKODA
vseobecná > [nevyhledá nic]
vsseobecná > Všeobecná
pojistovna > [nevyhledá nic]
pojisstovna > [nevyhledá nic]
pojissttovna > pojišťovna

Nechápu ...

_________________
NVidia GTX 1060 6GB, Intel Core i7-2600K @ 3,4 GHz, 16 GB DDR 3
Download 100 Mbps, Upload 100 Mbps, ping 8
VINOTÉKA U FREJKA
FREJK.CZ, FREJK.SK, FREJK.COM


Nahoru
 Profil   
 
 Předmět příspěvku: Re: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 4. 1. 2021 18:57 
Offline
Junior
Uživatelský avatar
Když ono to v MySQL není zrovna utf8 - novější verze má utf8mb4_ - tu je potřeba používat.


Nahoru
 Profil   
 
 Předmět příspěvku: Re: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 6. 1. 2021 15:04 
Offline
Junior
Uživatelský avatar
Děkuji, ale to ničemu nepomohlo ..

_________________
NVidia GTX 1060 6GB, Intel Core i7-2600K @ 3,4 GHz, 16 GB DDR 3
Download 100 Mbps, Upload 100 Mbps, ping 8
VINOTÉKA U FREJKA
FREJK.CZ, FREJK.SK, FREJK.COM


Nahoru
 Profil   
 
 Předmět příspěvku: Re: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 6. 1. 2021 17:18 
Offline
Junior
Uživatelský avatar
Cca před 6 lety byl dotaz na https://stackoverflow.com/questions/260 ... ch-symbols kde bylo navrženo, aby veškeré záznamy byly ukládány pomocí base64 - bohužel toto řešení má problém s velkými/malými písmeny.

Jinak by to mělo fungovat normálně - předpokládám, že máš správně nastavené kódování jak stránky tak spojení jako utf8 namísto bývalého CP ( win1250 )


Nahoru
 Profil   
 
 Předmět příspěvku: Re: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 14. 1. 2021 12:25 
Offline
Junior
Uživatelský avatar
Kódování všeho i stránky je v UTF8.

Existuje tedy nějaké řešení, jak v DB vyhledávat bez ohledu na malá / velká písmena a zároveň bez ohledu na diakritiku?

_________________
NVidia GTX 1060 6GB, Intel Core i7-2600K @ 3,4 GHz, 16 GB DDR 3
Download 100 Mbps, Upload 100 Mbps, ping 8
VINOTÉKA U FREJKA
FREJK.CZ, FREJK.SK, FREJK.COM


Nahoru
 Profil   
 
 Předmět příspěvku: Re: mysql vyhledávání bez ohledu na diakritiku
Odeslat příspěvekNapsal: 14. 1. 2021 21:57 
Offline
Junior
Uživatelský avatar
https://stackoverflow.com/questions/330 ... sh-accents

https://stackoverflow.com/questions/864 ... y-in-mysql


Nahoru
 Profil   
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přeskočit na:  
Podmínky pro užívání služby informační společnosti | Informace o zpracování osobních údajů | Cookies
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group