Autor | Zpráva | ||
---|---|---|---|
Antonín Daněk Profil |
#1 · Zasláno: 18. 4. 2006, 00:18:49
brej večír :)
Mám problémy s zobrazením diakritiky při vypsání dat z databáze mysql. V databázi jsem pres phpmyadmin nastavil vsude co se dalo latin2_czech_cs, samotnej PHP soubor jsem ulozil bez konverze a do hlavicky jsem mu dal taky kodovani latin2 a nekam jsem se dostal :) např. ,,éášíž" se zobrazuje, ale třeba ,,ěčůň" ne. (predtim jsem zkousel jiny kodovani, jiny kombinace, dost jsem se s tim natrapil a bylo to jeste horsi, tohle je asi nejlepsi vysledek k jakemu jsem se dopracoval) poradi mi nekdo ? |
||
Hugo Profil |
#2 · Zasláno: 18. 4. 2006, 04:27:18
Musíš nastavit i správné kódování připojení, dotazu atd. Nejjednodušší je po připojení k db poslat příkaz
SET NAMES latin2 |
||
finc Profil * |
#3 · Zasláno: 18. 4. 2006, 20:15:11
No, radši než zůstat u latin2, což takhle utf-8?
Při převodu kodování u DB, musí být změna provedena na DB, tabulky i jednotlivé sloupce + data. Nejideálnější způsob je dumpnout DB, zmenit kodovaní a znovu ji naplnit. Poté stačí jen ukládat PHP soubory v kodování utf-8 (pozor, ne všechny editory jsou schopné toto kodování podporovat). Poté se nemusíte starat o to, jaké kde máte kodování. 1. cp-1250 (windows-1250) je mršina používaná MS Windows, v unixu je s tím zbytečné trápení 2. iso8859-2 kodování využívané linuxem 3. latin2 apod. Všechna tato kodování mají kromě neúplné podpory ze strany OS ještě tu nevýhodu, že ne každý znak Vám půjde napsat :) Doporučuji tedy utf-8, dnes již standart, kde nebudete mít problémy ani s azbukou ani s češtinou. Co se týče toho editoru, doporučuji eclipse + phpeclipse, sám jej používám a bez sebemenších problémů :) |
||
Antonín Daněk Profil |
#4 · Zasláno: 20. 4. 2006, 23:14:45
jo taky jsem zastance utf-8, tady jsme napsal latinku protoze jsem zkousel vsechno mozny a zrovna jsem u toho byl :).
momentaln jsem na tom tak, že... mySQL: status:Server,db,client,conn. vsechno utf8 php: soubor je ulozenej v utf8 a v hlavicce mam navic taky definovanou sadu utf8 muze mi nekdo vysvetlit jak je mozny ze mi to nejde :) hugo: si nemyslim ze by to dotaz mohl pokazit, to by se max mohlo stat, ze by ho server nepochopil, kdybych v nem mel treba nakou diakritiku, ale i tak, zacinam a nevim jak ,,set names utf8" do toho kodu zamotat :) |
||
Hugo Profil |
#5 · Zasláno: 21. 4. 2006, 06:09:23
Antonín Daněk
Proste hned po odeslání MySQL_Connect(); Pošli MySQL_Query('SET NAMES latin2'); Pokud toto nenastavíš, a defaultní znaková sada pro připojení k db je jiná, než ta kterou používáš, tak skutečně dojde ke zmršení diakritiky. Tady na fóru se to řeší hodně často, tak se můžeš zkusit hledání. |
||
Antonín Daněk Profil |
#6 · Zasláno: 21. 4. 2006, 23:39:37
Bud jsem to tam napsal spatne nebo to nepomohlo, kazdopadne uz toho zacinam mit a po krk. Napiste mi pls v cem ukladate php soubory, co jim davate do hlavicek a v cem ukladate data do databaze, kdyztak presnej nazev sady, ad to muzu udelat presne podle vas...mam pocit ze uz jsem vyzkousel snad vsechny moznosti znakovych sad .
|
||
Antonín Daněk Profil |
#7 · Zasláno: 21. 4. 2006, 23:40:59
Bud jsem to tam napsal spatne nebo to nepomohlo, kazdopadne uz toho zacinam mit a po krk. Napiste mi pls v cem ukladate php soubory, co jim davate do hlavicek a v cem ukladate data do databaze, kdyztak presnej nazev sady, ad to muzu udelat presne podle vas...mam pocit ze uz jsem vyzkousel snad vsechny moznosti znakovych sad .
|
||
Antonín Daněk Profil |
#8 · Zasláno: 21. 4. 2006, 23:41:33
Bud jsem to tam napsal spatne nebo to nepomohlo, kazdopadne uz toho zacinam mit a po krk. Napiste mi pls v cem ukladate php soubory, co jim davate do hlavicek a v cem ukladate data do databaze, kdyztak presnej nazev sady, ad to muzu udelat presne podle vas...mam pocit ze uz jsem vyzkousel snad vsechny moznosti znakovych sad .
|
||
antonín daněk Profil * |
#9 · Zasláno: 21. 4. 2006, 23:50:02
jo a podle toho co jsi rekl teda kdyz budu mit v php sadu latin2 tak zadny set nastavovat nemusim protoze v mysql je defaultni taky latin2
|
||
Hugo Profil |
#10 · Zasláno: 22. 4. 2006, 05:27:36
antonín daněk
To není pravda. Defaultní kódování záleží na nastavení serveru, tzn. na každém stroji to může být jinak. Já mám vše v utf8. |
||
antonín daněk Profil * |
#11 · Zasláno: 22. 4. 2006, 12:23:02
Rikam ze defaultni je latin2 a na mym serveru a na jednom internetovym, na kterych jsem to zkousel to tak nechali.
|
||
Hugo Profil |
#12 · Zasláno: 22. 4. 2006, 12:35:12
antonín daněk
aha, špatně jsem to pochopil. Ale stejně je lepší ten příkaz posílat. Protože nastavení serveru se může změnit. |
||
krteczek Profil |
#13 · Zasláno: 22. 4. 2006, 14:04:27
function pripoj()
{ $pripoj=mysql_connect(SQL_HOST, SQL_USERNAME , SQL_PASSWORD); mysql_select_db(SQL_DBNAME); MySQL_Query("SET NAMES utf-8"); return $pripoj; } stačí to takhle? krteczek |
||
antonín daněk Profil * |
#14 · Zasláno: 24. 4. 2006, 14:45:05
Mno v tom problem nebyl, nevim, ted ukladam phpcka do utf-8 a v db mam taky utf8 a na ic.cz mi to funguje, pokud text ukladam do blob, pokud do varchar tak ne, na lokalu ne, ale aspon neco.
|
||
Hugo Profil |
#15 · Zasláno: 24. 4. 2006, 14:47:09
antonín daněk
A mas spravne nastavene kodovani databaze a tabulky? |
||
antonín daněk Profil * |
#16 · Zasláno: 24. 4. 2006, 14:58:15
no nevim...
mysql.exe status; Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0