Autor Zpráva
Tomik
Profil
Zdravím,
mám databázi mysql 41, jeji kodovani je utf, porovnavani utf8_czech_ci, rovnez znakova sada v mysql je utf8 a znaková sada připojení mysql je také utf8_czech_ci.
Stránky ve kterých zobrazuji text z DB mám také v UTF-8, přesto se mi místo některých znaků s diakritikou zobrazují otazníky (?).
To jsem sice vyřešil tím, že po každém připojení k db pošlu databázi query "SET CHARACTER SET utf8", pak všechno běhá jak má. Ale...
Chtěl jsem se zeptat zda není možné nějakým univerzálním SQL příkazem, který bych poslal na DB pouze jednou nastavit právě to, co
nastavuji pomocí toho query "SET CHARACTER SET utf8".

Díky Tomik
Kajman_
Profil *
Pokud je to Tvoje db, tak lze nastavit defaultní znakouvou sadu připojení na utf8 a pak by to nebylo třeba. Pokud nemáš db pod palcem, tak to asi možné nebude.
Tomik
Profil
No je to moje DB, ale příkaz ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 (pokud je to ten příkaz) nefunguje. :(
Dan Fojtík
Profil
Ja jsem to vyresil tak, ze jsem SET CHARACTER SET nejaky_charset a jeste SET NAMES 'nejaky_charset' dal do souboru coonect.php, ktery includuji pri kazdem pripojeni do MySQL. Kdyz jsem v phpMyAdminovi nastavil defaultni charset, stejne to porad nefungovalo tak jak ma.
Tomik
Profil
To pro mě samozřejmě také není problém, mám napsanou třídu pro přístup k DB, ale jde mi o princip. :)
A nevíš, náhodou, čím je to způsobeno, že to nefunguje?
Hugo
Profil
Tomik

MySQL bere automaticky tu znakovou sadu jakou má nastavenu v my.ini. Pokud používáš jinou musíš to serveru oznámit. IMHO není takový problém poslat jeden dotaz navíc.
Tomik
Profil
Díky, ne není, ale jen tak mě to zajímalo... :D
Hugo
Profil
Tomik

Když se nad tím trochu zamyslíš, tak zjistíš, že je toto chování dost výhodné, protože nemusíš řešit změnu kódování v aplikaci, ale db server si to pohlídá sám (samozřejmě mu musíš oznámit jaké kódování používáš).
Kajman_
Profil *
Špatně jsem se vyjádřil. Tou db jsem nemyslel konrétní db, ale db server :-)
Tomik
Profil
Kajman_ Ha, tak to pak jo... ;) No pokusím se poprosit hostera, a nebo halt budu posílat pri každém připojeni na db o jeden sql příkaz víc.

Jinak díky, problém je vyřešen... :D
Toto téma je uzamčeno. Odpověď nelze zaslat.

0