Oznámení
Problém s diakritikou
před 10 lety
- a.m
- Člen | 10
Zdravím,
mám MySQL databázi, která má kódování nastavené na CP1250. Přistupuju k ní přes dibi. Jako součást parametrů pro připojení k databázi je i parametr „charset“, který opět nastavuji na „cp1250“. Když pak v databázovém spojení cokoli ukládám do databáze, z textů se mi kompletně odstraní diakritika. Když text s diakritikou uložím do tabulky přes phpMyAdmin, dibi mi češtinu správně zobrazí, ale jakmile dám v mojí aplikaci, která používá dibi, zeditovat tento záznam, diakritika opět zmizí (úplně se odstraní písmenka, která obsahují diakritiku).
Dělám někde něco špatně? Díky za každou radu.
Adam
před 10 lety
- David Grudl
- Nette Core | 6806
Kódování databáze (nebo jednotlivých tabulek či sloupců) v tom víceméně nehraje roli. Důležité je, v jakém kódování se s databází komunikuje – a to musí být cp1250.
před 10 lety
- a.m
- Člen | 10
Tak beru zpět, dibi je v tom úplně nevinně. Celá aplikace je postavená na nette a diakritika se ztratí už někde tam. Jdu hledat a příp. napíšu do nette fóra.
Díky.
před 10 lety
- David Grudl
- Nette Core | 6806
Ty stránky běží pod UTF-8 nebo cp1250? Pokud to druhé, je potřeba do cp1250 přepnout formuláře atd. Nicméně stejně budou nadále interně komunikovat v UTF-8, takže spojení s databází by mělo být také UTF8. Obecně bych doporučil dělat vše v UTF-8 a nevznikne žádný problém.
před 10 lety
- a.m
- Člen | 10
Ty stránky byly původně v cp1250. Jelikož se ale ukázalo, že naučit je správně pracovat bude daleko složitější než je převést do UTF8, převedli jsme celé stránky do UTF8. A vše už bez problémů funguje. :)