Výber z DB a diakritika

Programovacie jazyky, rady, poradňa...
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Výber z DB a diakritika

Príspevok od používateľa atlox »

Caute... Viem, že táto téma bola rozoberaná na hojkovi X-krát... ale moj problém je trochu väčší... Problém je s tou diakritikou, ale aj keď pridám hneď po pripojení databázy do PHP kódu toto:

Kód: Vybrať všetko

mysql_query("SET NAMES 'cp1250'");
aj tak sa nič nestane... vždy mi namiesto

Kód: Vybrať všetko

ľščťžýáíé
zobrazí

Kód: Vybrať všetko

?š??žýáíé
PLS poradte ako na to... skúsil som už takmer všetko a stále rovnako :!: :cry:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Určite to máš v tej databáze uložené dobre? Nie sú tie otázniky náhodou už tam?
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

predpokladám, že v tomto prípade

Kód: Vybrať všetko

mysql_query("SET NAMES 'cp1250'");
máš aj toto:
"Overenie pripojenia k MYSQL" tiež cp1250 (napr.: cp1250_general_ci)
a toto takisto:
"Porovnání" alebo "Zotriedenie" tiež v cp1250,
a potom už len toto:
dáta ktoré tam vkladáš musia byť tiež v tom istom kódovaní uložené
teda Windows(CP1250)

no a celkom prirodzene v HTML hlavičke (HEADER) charset="windows-1250"

píšem ti to len preto, že tvoje otázka nebola dosť presne sformulovaná, a neviem ako máš tieto ostatné nastavenia
Mek
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4661
Registrovaný: 23 mar 2005, 23:00
Bydlisko: ZA <-> TN
Kontaktovať používateľa:

Príspevok od používateľa Mek »

presne ako pise zupanok
ale pokial s nejakym projektom len zacinas, tak urcite zvol kodovanie UTF-8, usetri ti to mnoho starosti, lebo toto kodovanie ti zoberie hoci aj tie cinske paznaky :wink:
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

na tom niečo bude, ja som začínal na win1250, ale potom som tiež prešiel na utf-8, a dobre som urobil, je to aj univerzálnejšie, a aj mnohé hostingy to preferujú (v mysql), takže fakt to predchádza aj mnohým začiatočníckym problémom
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

zupanok napísal:na tom niečo bude, ja som začínal na win1250, ale potom som tiež prešiel na utf-8, a dobre som urobil, je to aj univerzálnejšie, a aj mnohé hostingy to preferujú (v mysql), takže fakt to predchádza aj mnohým začiatočníckym problémom
no ja ako trosicku pokrocily som sa snazil prejst na UTF-8. vysledok:
1.) program v ktorom robim (quanta) nema ani naznak niecoho, ze ulozit subor v utf8.
2.) ked som to silou mocou teda ulozil (neviem ako, nijake moznosti neboli ponuknute, len cisto ulozit ako subor.php), tak ma prekvapili cierne piky namiesto znakov s diakritikou
po tomto som sa rozhodol ostat pri 1250 kde nemam absolutne ziadne problemy. navyse teraz si neviem ani predstavit ako by som to prerabal na utf8. kazdemu asi vyhovuje nieco ine ;) no ako zaciatocnik by som sa urf8 bal asi viac ako 1250ky :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Quantu som používal už dávno, ale určite má možnosť zvoliť si znakovú sadu súboru (podporujú to všetky normálne editory v KDE).
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

aaaaaaaaa nasiel som nieco v konfiguracii. cakal som to niekde kde bude menu ulozit subor ako a tam niekde. nie priamov konfiguracii. taka OT otazka... co puzivas, ked si quantu nechal? hmm? necham sa rad inspirovat. quanta obcas bezdovodne pada...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Mne stačí kombinácia textového editora a nejakého internetového prehliadača (za textový editor považujem aj program Bluefish).
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

bluefish nejako kasle na syntax. "farbi mi pismenka" dost chaoticky. preto som z bluefish presiel na quantu. ta je krasne farebna :) ale to uz OT. koncim spamovanim :)
Frikso
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4777
Registrovaný: 07 mar 2006, 19:09

Príspevok od používateľa Frikso »

Ja mám podobný problém, ale iba v IE7 :lol:
- Všetko mám kódované v UTF-8 (html header, myqsl). A všade to frčí bez problému (Opera, FF, IE6) ale v IE7 tam sú tie otázniky a štvorčeky.
-Pri spojeni s DB to nemam ošetrené, ako písal atlox v prvom príspevku, ale myslím, že pri UTF-8 by to nemalo robiť taketo caviky.
-Môže to byť neschopnosťou prehliadača?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Skontroluj http hlavičku odpovede (aj tam môže byť kódovanie). Niektoré servere posielajú default kódovanie iné, ako potom používaš v html.

turtlak69: Bluefish používam dosť dlho, a vyzerá to normálne (nemáš nejakú predpotopnú verziu?).
Mek
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4661
Registrovaný: 23 mar 2005, 23:00
Bydlisko: ZA <-> TN
Kontaktovať používateľa:

Príspevok od používateľa Mek »

doplnim, ze prislusna http hlavicka sa posiela takto:

Kód: Vybrať všetko

header("Content-type: text/html;charset=utf-8"); 
HTH
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

Mek napísal:doplnim, ze prislusna http hlavicka sa posiela takto:

Kód: Vybrať všetko

header("Content-type: text/html;charset=utf-8"); 
HTH
toto treba dat do kazdeho suboru? aj do tych includnutych, kde je napriklad obsah stranky? ci len na index ?
chrono: neviem, mavam pravidelny upgrade a tam spada aj bluefish... neviem aku mam verziu. no a ma este jednu malu nevyhodu. mozem v nom mat cez ftp otvoreny len jeden subor. ked chcem viac, hadze chybu. na hdd fici v pohode. ale kaslat na to. quanta mi nejako prirastla k srdcu uz :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To posielanie štandardnej znakovej sady môže byť nastavené aj v konfigurácii Apache (alebo pomocou .htaccess). Treba skontrolovať, či sa to posiela a ak áno, treba to pomocou .htaccess zakázať (ak sa tam posiela iná znaková sada, ako chceš).
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

takze staci nastavit htaccess a vsetko je tym padom vybavene? ak ano, tak napis pls ten zazracny riadok :) zakomentujem a hodim do htaccess a ked budem planovat prechod na utf8, tak velice rad pouzijem :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Samozrejme to .htaccess musí byť povolené. ;)

Kód: Vybrať všetko

AddDefaultCharset Off
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

hmm ale toto podla mojej dedukcie vypne charset, ale nenastavi nic na utf8. ci ked je to vypnute, tak je defaultne utf8? btw jasne, ze ked .htaccess povoleny nie, tak taketo zmeny asi nebudu vidiet :) ale vacsinou na normalnych platenych hostingoch je tato zalezitost povolena a tiez aj mod rewrite. takze .htaccess je spolahlivy ;)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To vypne posielanie predvolenej znakovej sady. Potom sa použije iba to, čo máš v html hlavičke.
Príklad: AddDefaultCharset je nastavené na windows-1250 a v html hlavičke máš utf-8; V takom prípade sú v http hlavičke dve kódovania (niektoré prehliadače si vyberú prvé, iné to druhé).
Napísať odpoveď