Autor | Zpráva | ||
---|---|---|---|
jio Profil |
#1 · Zasláno: 3. 8. 2006, 19:19:00 · Upravil/a: jio
Dobrý den.
Mám db v UTF-8 na MySQL4.0 s mysql_query("SET CHARACTER SET utf8"); Zápis i zobrazení je v pořádku, pokud ale chci v db hledat přes formulář POST, tak po zadání textu s diakritikou neumím nic najít. Pokud si podmínku vypíšu přes echo, dostanu místo textu špička tento výpis text LIKE '%ŁPIČKA%' podmínku zpracovávám takto: $podm = (isset($_POST['podm'])) ? stripslashes($_POST['podm']) : ''; ... text LIKE '%".AddSlashes(strtoupper_cz($podm))."%'" Můžete mi poradit co s tím? Děkuji. |
||
BaTeCzKo Profil |
#2 · Zasláno: 3. 8. 2006, 19:24:48 · Upravil/a: BaTeCzKo
A kódování stránky je také UTF-8? Pokud je kódování stránky jiné než kódování db, tak to může zlobit. :)
|
||
Aesir Profil |
#3 · Zasláno: 3. 8. 2006, 19:31:04
jio:
Jakým způsobem zacházi s $podm funkce strtoupper_cz()? Raději použijte multibyte funkci k tomu určenou mb_strtoupper. |
||
jio Profil |
#4 · Zasláno: 3. 8. 2006, 21:58:26
Aesir
Děkuji, to bylo ono. V windows1250 jsem měl funkci: function strtoupper_cz($str) { // prevede cesky retezec na velka pismena $lc_chars = "ěščřžýáíéůúďňť"; $uc_chars = "ĚŠČŘŽÝÁÍÉŮÚĎŇŤ"; return strtr(strtoupper($str), $lc_chars, $uc_chars); } a bláhově jsem si myslel, že to řeší i v UTF-8 |
||
DJ Miky Profil |
#5 · Zasláno: 3. 8. 2006, 22:00:26
jio
A v té fci vám chybělo "ó" :-). |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0