Autor Zpráva
Kamajkl
Profil *
Ahoj.

Mám problém s kódováním. Přečetl jsem si zde na fóru většinu postů s podobnou problematikou a problém jsem vyřešil.

Při načítání dat z databáze se špatně načítala česká písmenka š a ž. Používal jsem na stránce znakovou sadu WINDOWS-1250 a tabulku jsem měl UTF-8. Tak jsem upravil kódování stránky na UTF-8 a data se z tabulky načetla v pořádku, ale mnou volně vložené texty se špatně zobrazili a validator to vyhodnotil jako chybu. Místo háčků a čárek byly otazníky, příklad ?vod místo Úvod.

Tak jsem vygoogloval seznamy znakových sad a našel jsem další možnou variantu CP1250. Stránka je kompletně textově v pořádku, ale validator W3 nezná tuto znakovou sadu a vyhodnoutí stránku jako chybnou.

Rád bych vás tedy poprosil o radu, jakou znakovou sadu použít pro stránku a databázi v tomto případě, aby vše bylo v pořádku a stránka byla validní pro XHTML 1.0 (pro znakovou sadu WINDOWS-1250) je validita v pořádku. A pak nastává dotaz, jestli když je stránka jinak validní, jestli se mám "nevadliditou" zabývat.

Používám webhosting na WEBZDARMA.CZ, kde je tuším MySQL verze 4,1 a phpMyadmim je verze 2,6,0-pl3.

Děkuji
Casero
Profil
jestli se mám "nevadliditou" zabývat.
určitě ne!!...nestojí to za to..a v tvém případě 100%
Kajman_
Profil *
pokud stránky budou v utf8, tak po connectu k db zavolejte hned

mysql_query("set names 'utf8'")

pokud ve windows-1250, tak

mysql_query("set names 'cp1250'")
Kamajkl
Profil *
pokud ve windows-1250, tak

mysql_query("set names 'cp1250'")

přesně todle sem dělal, vložil sem tam po příkazu připojení toto (s UTF-8 to prostě nejde, databáze se sice načte, ale při celostránkovém kódování mi to nekóduje dobře texty mimo databázi), a stejně se načetlo vše jinak.
nyní to je již v pořádku.
Martin S.
Profil *
Dobry den,
chtel bych se zeptat zda se nekdo nesetkal s problemem, ktery mi nejde vyresit.
Mam stranky v utf8, stejne tak databazi (utf8_czech_ci)
Pouzivam i nastaveni komunikace mysql_query("set names 'utf8'") a tim padem mi vsechno bezi v pohode.
Problem mam ale s tim, ze pri vyhledavani v databazi pomoci LIKE mi na vsechna pismena s diakritikou š č ř ž nalezne i stejna slova bez diakritiky - tohle bych prezil, to mi nevadi. Jen mi to naprosto ignoruje "ň" a to uz me trapi hodne...
Pokud zadan do vyhledavani napr. slovo Plzeň (a v databazi i na strankach ho takto spravne vidim), tak mi nic nenajde. Pokud dam Plzen, tak uz to Plzeň najde...
Nevim cim to je, jestli treba primo tim kodovanim a nic s tim delat nejde...

Pokud nekdo vi, tak mi prosim poradte - dekuju mnohokrat. Martin S.
Martin S.
Profil *
Dobry den,
chtel bych se zeptat zda se nekdo nesetkal s problemem, ktery mi nejde vyresit.
Mam stranky v utf8, stejne tak databazi (utf8_czech_ci)
Pouzivam i nastaveni komunikace mysql_query("set names 'utf8'") a tim padem mi vsechno bezi v pohode.
Problem mam ale s tim, ze pri vyhledavani v databazi pomoci LIKE mi na vsechna pismena s diakritikou š č ř ž nalezne i stejna slova bez diakritiky - tohle bych prezil, to mi nevadi. Jen mi to naprosto ignoruje "ň" a to uz me trapi hodne...
Pokud zadan do vyhledavani napr. slovo Plzeň (a v databazi i na strankach ho takto spravne vidim), tak mi nic nenajde. Pokud dam Plzen, tak uz to Plzeň najde...
Nevim cim to je, jestli treba primo tim kodovanim a nic s tim delat nejde...

Pokud nekdo vi, tak mi prosim poradte - dekuju mnohokrat. Martin S.


Uz se mi povedlo problem s pismenem "ň" opravit. Byla to samozrejme moje hloupost. Mel jsem tesne pred dotazem SQL na vyhledavani mysql_query("set names 'utf8_czech_ci'"), kdyz jsem to zmenil na mysql_query("set names 'utf8'"), tak to funguje spravne. (myslel jsem si, ze pokud mam tabulku se zaznamy v 'utf8_czech_ci', tak by melo byt mysql_query("set names 'utf8_czech_ci'") )
kchrz
Profil
Nechci začínat stejnou diskusi, proto to napíši sem.
Mám podopbný problém s kodováním,ale trošku jinak hozený :
čeština se mi správně zobrazuje v IE,Firefoxu,ale v Opeře je to rozhozené. Zvláštní. Teď jsem s tím trošku experimentoval a rozhodil to celé. Tak než to opravím, chci se zeptat, zda mám toto nastavení srávne :

V index.php :
<META http-equiv="Content-Type" content="text/html; charset=utf8_czech_ci">

a při jakékoliv prási s MySql vkládám db.inc :
mysql_Connect($dbServer,$dbUser,$dbPass) OR DIE("Není možné připojit databázový server.");
mysql_select_db($dbDatabase) OR DIE("Není mmožné spojení s databází $dbDatabase");
mysql_query('SET NAMES utf8_czech_ci');

Je to správně?
díky moc.
kchrz
Profil
Těd jsem zkusil kombinaci
<META http-equiv="Content-Type" content="text/html; charset=cs-utf-8"> a mysql_query('SET NAMES utf8_czech_ci');
a zobrazuje se mi to správně pouze v IE, Firefox i Opera je rozhozená.
Nějak si s tím nevím rady.
díky moc
Kajman_
Profil *
<META http-equiv="Content-Type" content="text/html; charset=utf-8">

mysql_query('SET NAMES utf8');
kchrz
Profil
ok, vyzkouším.Ještě dotaz prosím :
<META http-equiv="Content-Type" content="text/html; charset=utf-8"> dám na začátek stránky,to je mi jasné.

Stačí dát mysql_query('SET NAMES utf8'); jen při connect a select dbase a nebo to musím vyvolat před každým zápisem,to je jest před každým zápisem mysql_query($uprav); mám ho na stránce třeba 3x.
díky moc
Kajman_
Profil *
stačí jednou po connectu
kchrz
Profil
díky moc,vyzkouším.
Toto téma je uzamčeno. Odpověď nelze zaslat.