Autor Zpráva
MilanJ
Profil
Na svých stránkách jsem do nedávna používal kódování češtiny charset=windows-1250, databázi MySQL stejně tak a vše fungovalo jak má.
Problém nastal, když jsem chtěl přejít na kódování UNICODE UTF-8,a to jak na stránkách, tak v databázi.

Mé stránky mají nastavený charset=utf-8, tabulky v db MySQL mají: Character set : utf8, Collation : utf8_czech_ci.
Formulář pro vstup dat všechno zpracuje jak má, ale do db se uloží prapodivný znaky. Ale budiž, kdyby výsledek byl OK. Bohužel není, to samé co je v db se oběví na stránce, která má zobrazit obsah db.

A tak se ptám, jestli mi někdo neporadí způsob, jakým ukládat data v kódování UTF8 tak, aby byla data česky i s diakritikou přímo v db (např. v PHPMyAdmin) a přitom aby sevýsledek na stránce zobrazoval opět česky, jak jinak.
Co dělám špatně, že to nefunguje?

Děkui všem za postřehy a rady. Příjemný den všem.
MilanJ
Profil
Úplně jsem zapomněl na jednu důležitou věc... když do MySQL přistupuji v php takto : mysql_query("SET NAMES 'utf8'"), je čeština OK, ale v databázi jsou uloženy otazníky místo znaků s diakritikou, tedy...například místo:

žluťoučký šroubeček dostanu žlu?ou?ký šroube?ek.

Je to v pořádku nebo to tak má být?
A ještě jedna otázka: Má na to vliv verze MySQL? Na svém lokálním PC používám MySQL 4.1.9 a na ostrém webovém serveru MySQL 5
nightfish
Profil
MilanJ
provedl jsi reálně překódování těch dat v databázi, nebo jsi jenom změnil charset?
MilanJ
Profil
nightfish
Já vytvořil novou databázi a nastavil jim výše zmíněné kódování. Nemluvil jsem o datech z dřívějška, ale o nově pořizovaných datech
nightfish
Profil
aaha, tak to pak jo

postup vkládání: na stránce, která je UTF-8 je formulář, jehož vyplněním dojde k zavolání php skriptu, který se připojí k databázi, nastaví "SET NAMES 'utf8'", provede INSERT - pak by měla být data uložena v databázi v UTF-8

a víceméně stejně to funguje při výpisu - stránka má kódování UTF-8 (pozor, meta charset a Charset, zasílaný přes HTTP protokol se mohou lišit...), připojení k DB, SET NAMES utf8, select a výpis...

rozdíl ve zpracování znakových sad mezi 4.1.9 a 5.0+ není...
djlj
Profil
MilanJ
Jsou soubory užloeny v kódování utf-8?
Zkoušels SET NAMES?

Vše se tu řešilo už asi stokrát, hledej!
MilanJ
Profil
nightfish
Mě jen zaráží to, že když se podívám na obsah db, vidím otazníčky místo diakritiky....tedy jen některých znaků.
Tak to má být?
nightfish
Profil
MilanJ
a v čem se na ten obsah db díváš? přes konzoli nebo přes phpMyAdmina?
MilanJ
Profil
Používám EMS SQL Manager 2005 for MySQL. A teď mi dochází, tedy teď když si pustím phpMyAdmina, že data vypadají v pořádku.
No...v tom případě se omlouvám, jelikož chyba je právě v programu EMS SQL Manager 2005 for MySQL, který nezobrazuje správně některé znaky diakritiky.:-/
Anonymní
Profil *
[b][/b][i][/i]
[pre][/pre][img][/img]Text odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazuText odkazu
Toto téma je uzamčeno. Odpověď nelze zaslat.

0