Autor Zpráva
reppo
Profil
ako to že keď mám stránky písané v windows 1250 a v databaze mam kodovanie cp_1250_cz tak mi to nepíše "ť,č" ? ... a pritom na tom istom serveri mám ešte jednu stránku na ktorej to funguje...
Casero
Profil
reppo
Snad pomůže http://molhanec.net/mysql_cestina_minifaq.html?SID=E90E198CD9328FD8E49 046A501A5691D#prehled
shaggy
Profil
Hm, Casero, to sú dosť všeobecné informácie. Priznám sa, podobný problém mám aj ja.
Kódovanie stránky - win1250, databáza (MySQL) taktiež v tomto kódovaní (databáza fóra). Skúšal som si stiahnuť databázu a urobiť "zálohu" na localhoste. Kódovanie nastavené ako v pôvodnej db, ale tiež mi nezobrazovalo ť a č, ostatné znaky s diakritikou áno.
peta
Profil
reppo
shaggy
pak to mate oba chybne. Vite 100% ze to kodovani tam mate jake uvadite? neni to nahodou latin1?
Co treba uvest odkaz na stranku, pripadne na soubor exportu databaze, ale pozor, pres mysqldump (dump) nikoliv pres phpmyadmina, ktery si to koduje, jak ma nastaveno.

podminky
1. spravne nastaveni kodovani v SQL
- pres phpMyAdmina si nexh exportovat nebo zobrazit strukturu. Dulezita je hodnota v "Porovnani" "utf8_czech_ci"
- dalsi dulezita hodnota je v nastaveni tabulky, jak je porovnavana
- a jeste dalsi je hodnota v nastaveni databaze (kam asi nemate pristup)
Podle techto vsech hodnot phpmyadmin nejak exportuje...

2. spravne kodovani dat
Tento problem nastava, kdyz se prevadi databaze.
Nedavno jsme delali upgrade s MySQL 3.2 na 5.1.
Stare SQL pracuje default se sloupci latin1 (iso-2), programy to tam pochopitelne ukladali ve win-1250. Takze mas 2 ruzne kodovani a pokud ted napises, ze se pripojujes na kodovani win-1250 (SET NAMES), tak ti vrati spatne NTC s hackem. Jinymi slovy, mas to spatne uz v databazi.
Export provedl kolega mysqldumpem (nebo dump se to mozna jmenuje). SQL 3.23 nepodporuje SET NAMES, takze soubor se exportoval v podstate jako text v kodovani win1250. Jenze do tabulek to zapsalo collate na latin1.
Pokud to takto nahrajes do databaze s UTF-8 programem, ktery to neprekodovava a pripojis se k tomu bez SET NAMES, pak dostanes opet spravny vysledek.
Pokud ale ti to ten program zacne kodovat na utf-8 a bude uvazovat puvodni kodovani latin1, jak ma nastaveno ve strukture tabulky, pak to mas cele prekodovane a je to trochu pracne prijit na to, jakymi zpusoby to prekodovat na utf. Nejlepe, pro import pouzit vlastni program, treba prenastavit bigdump.php , kde mu do PHP header nastavis spravne kodovani, do SETNAMES take...

http://www.volny.cz/peter.mlich/www.htm#msub12
sql kodovani

3. kodovani v PHP
cz.php.net/header

4. kodovani v HTML, pokud ho pouzivas pro vstup/vystup dat
jakpsatweb - html - meta
(prednost prohlizec dava header z PHP; pokud neni kodovani nastaveno, pak pouzije meta tagy)

takze si zkuste poprepinat ve FF kodovani a zjistit, se kterym to pasuje.
reppo
Profil
tu je link na stranku kde to kodovanie nejde: azkers, a tu je link na web ktory je na tom istom serveri a kodovanie funguje... porovnavanie je v oboch nastavene na cp1250_cz ... minicity
peta
Profil
http://www.azkers.netuje.cz/guestbook.php
iso-1 ve Firefoxu i win-1250 zobrazuje spravne

http://www.minicity.profitux.cz/
seznam clanku zobrazuje take spravne win-1250
shaggy
Profil
Nezobrazuje sa mu to správne. Ak si všimneš, ť a č tam nie je - "tak, už by mali fungova? aj smajle"

Čo sa týka môjho problému - som si na 101% istý, aké je kódovanie v pôvodnej DB aj v tej novej - je to win 1250. Problém by mohol byť s rozdielnymi verziami MySQL, prevádzam to z MySQL4 a zálohoval som to na MySQL5. A hlavne - ak by som zamenil kódovanie, tak by mi nesprávne zobrazovalo aj ž, š... ale tieto znaky mi fungujú (skúšal som všetky možnosti a vtedy mi nefungovali žiadne znaky s diakritikou).
peta
Profil
shaggy
Aha, tak ti ty 2 zobrazuje spatne. Jsem nevedel, kde je hledat :)

Takze, jak je to s tou databazi. Databazi jsi mel a dal upgrade?
A jak jsi ji mel nastavenou a jak mas ted?
Stale jsi jeste nedodal strukturu databaze.
Pokud jsi delal export, tak by mne zajimal soubor z puvodniho exportu.

Tez je tu moznost, ze proste projdes vsechny radky a opravis si to sql prikazem regularnim vyrazem.

Ted otazka, spatne to mas v databazi? Nebo to spatne funguje i ted, kdyz pridas novou zpravu?
Jestlize se prida nova zprava ok, pak je spatne databaze.
Jestli ne, pak je spatne pripojeni na databazi, nebo nastaveni tabulek v databazi a nebo php header (ci meta tag pro stranku)

Ja ti muzu dat svoji, ale nevim, jestli ti to pomuze:
http://www.volny.cz/peter.mlich/www.htm#msub13

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: