Diakritika a MySQL
Čafte všetci. Mám taký problém. Nedávno som začal s PHP a MySQL, kúpil som si knižky, ktoré som z časti preštudoval, ale je od Larry Ullmana a tam sa nič nepíše o češtine a slovenčine v databazach. Vytvoril som si databazu, ktoru som naplnil udajmi, ktore obsahovali slovenské charaktery (ktore by bolo vhodné kódovať Win-1250, aspon ja tak kodujem svoje stranky). Problem nastal, ked som si tie udaje vyziadal do HTML pomocou PHP query. namiesto normálnych slovenských diakritických znakov mi to vypisuje háky-báky. Čo s tým? Ako na riešenie problému?
Za každú pomoc by som bol rád. Ďakujem.
Záleží na verzi databáze, jak máš nastavenou hlavičku stránky, v jakém kódování ukládáš do DB, atd...
Zkus ale toto:
dakujem, skusim
bohuzial to nefunguje, vlozil som tam kod:
,
ale stale mi to vracia nezmyselne haky-baky, udaje som do DB vkladal cez mysql monitor, ked to selectnem v monitore, tam to zobrazuje OK. len ked to vypytam s PHP do prehliadaca, uz to nezobrazi ok. pytal si sa na verziu DB, tak neviem ci to pomoze, ci to tam je, v monitore som zadal prikaz status a vyslo toto:
mysql.exe version 11.18 distrib 3.23.56, for Win95/98 (i32)
server version 3.23.56 max-debug
client charakterset: latin-1
server charakterset: latin-1
potom som skusal v tvojom skripte zamenit obe windows-1250 za latin-1, ale ani tak nic, co s tym? moc to potrebujem.dakujem
u 4.1 výše by ten dotaz měl vypadat takto:
ale popravdě, jak se to řeší v tak staré verz netuším...
nejstarší manuál je k dipozici verze 4.1 index.html , tak zkuste pohledat tam.
Tak a naposledy:
Vsetky rady mi pomohli, dakujem. problem som vyriesil kombinaciou vsetkych. takze keby bol niekto komu to bude tiez robit problemy a nebude si vediet dat rady, nech skusi u mna, mozno to spolu vyriesime a odplatim laskavost.
2laak@post.sk alebo ICQ: 221-761-301
Mnohem lepší by bylo, kdybys své zkušenosti shrnul zde - uživatelům s podobnými problémy to ušetří čas.
Zhrnutie a konecne riesenie
Vytvorte si subor napr. index.php s tymto obsahom(samozrejme na zaciatok treba tagy html,head, body a taktiez aj na koniec):
Tento kod by vam mal vypisat vsetky udaje z danej tabulky z 2 stlpcov title a content a to v spravnom kodovani, ale k tomu musite udaje do databazy zapisovat v spravnom kodovani. Ja som na to pouzil phpmyadmin verziu 2.8 kde si nastavite pre databazu aj pre kazdy jeden riadok zvlast "porovnavanie" na cp1250_bin a malo by to fungovat. tato funkcia porovnavania chybala v starsich verziach myslim ze v 2.5 a nizsie, v tomto pripade nepoznam riesenie v phpmyadmin-e, azda by bolo mozne v phpmyadmin-e zostavit SQL prikaz, ktory by zabezpecil update tabulky a riadkov do spravneho kodovania, ale s tym som neexperimentoval.
Dufam, ze bolo toto konecne riesenie naozaj konecne a dost vystizne. Keby mal niekto problemy s PHP ci MySQL(predovsetkym uplni zaciatocnici bez skusenosti) kludne ma kontaktujte najlepsie cez ICQ alebo mejl.
programovaniu zdar!
doufam, ze nevadi, ze to davam sem
mam php skripty a xml soubory v utf8
db je asi v utf8, porovnani latin1_swedish_ci a stranky, ktery ty data ctou windows-1250
ve skriptech mam mysql_query("SET NAMES 'utf8'"); a funguje vse krome č ř ě ň (mozna jeste dalsi), nefunguje s nima porovnani a vlozi se jako ?
vyzkousel jsem vsechno mozny a nic nefunguje, u me ve skriptech ani v phpmyadminovi
pritom stranky ty znaky ukladaji a zobrazuji normalne, no nevim jestli normalne - ø(ř) è(č)
zatim to resim pres str_replace
dik za kazdou radu
ak by si sa ozval na moj ICQ alebo MSN alebo email, mohol by som sa pokusit ti pomoc.
ICQ: 216-700-204
MSN: tulaak@hotmail.com
email: arkticrainbow@gmail.com
Najvacsiu sancu ma najst na ICQ ci MSN mas cez weekend.
tak ahoj
ďakujem veľmi pekne, dosť mi to pomohlo :D
To som rad, ze pomohlo, ale preto ozivit 4 roky mrtvy thread
Aj mne to pomohlo - po dvoch ďalších rokoch - vysporiadať sa s diakritikou v databáze. Vďaka!
velmi pekne dakujem dobre pomohlo :)