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: Vybrat vše
$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 ...