Ubuntu kodovanie

Všetko ohľadom Linuxu...
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Ubuntu kodovanie

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

Pls kde sa meni kodovanie v Ubuntu.Potrebujem si ho nastavit na "windows-1250" bo mi zle zobrazuje text skoro vsade dokonca ani na web nemozem poriadne s diakritikou pisat.
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

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

:x na co ti je preboha windosacke kodovanie??? ved to je uplna zvrhlost. :evil: :evil:

inak kodovanie sa nastavuje v kazdom programe (prehliadac, konzola, text.editor..) zvlast.
Ak mas nahodou problem pri vytvarani staranok s kodovanim tak existuje metatag ktory ozrejmy prehliadacu v akom kodovani bola stranka vytvorena, ale to by si mal asi vediet lstandardne linuxacke kodovanie je iso-8859-2 alebo UTF-8
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 »

Môže byť problém aj v tom, že nastavený font nepodporuje všetky potrebné znaky (ani ja nemám nastavené kódovanie 1250 a zobrazovanie funguje normálne).
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

nj mne je jedno ake je kodovanie hlavne nech vsetko facha :lol: .A na svojej stranke ked pisem do formulara ktory sa odosiela do SQL databazy tak potom zle zobrazi diakritiku a pritom na windowse to fachalo fpoho vid.

Kód: Vybrať všetko

http://jorg.sytes.net/board.php
Este aj na fore ktore mam na tej stranke ked napisem nieco s diakritikou tak mi vypise len text po pismeno s diakritikou.Kde moze byt problem bo pod windowsom vsetko islo.
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 »

Podľa normy ak je v http hlavičke Content-Type, tak sa má použiť kódovanie odtiaľ (meta tag sa má v takom prípade ignorovať). IE vždy používa meta tag (iba keď v html nie je, použije sa z http hlavičky). Tvoj server posiela:

Kód: Vybrať všetko

GET http://jorg.sytes.net/board.php --> 200 OK
Connection: close
Date: Sat, 17 Feb 2007 19:31:58 GMT
Server: Apache
Content-Length: 7407
Content-Type: text/html
Content-Type: text/html; charset=windows-1250
Client-Date: Sat, 17 Feb 2007 19:26:19 GMT
Client-Peer: 195.95.205.5:80
Client-Response-Num: 1
Link: <http://jorg.sytes.net/css.css>; rel="stylesheet"; type="text/css"
Title: ...:::jorg.sytes.net:::...
X-Powered-By: PHP/5.1.6-pl8-gentoo
Prehliadač použije prvú položku a v nej žiadne kódovanie nie je, takže prehliadač používa predvolené kódovanie (u mňa Konqueror 8859-2 a Firefox UTF-8 ).

// chrono: na niektorých stránkach je na začiatku chybová hláška php, a tam nefunguje kódovanie preto, že nie je na začiatku html
PS: Tá položka Content-Type bez kódovania nemusí vadiť každému prehliadaču
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

ale to asi nebude v mojej stranke.Vo FF som si nastavil kodovanie UTF-8 a napisal som tam ";+ľščťžýáíé=" odoslal som a zobrazilo to dobre ale okolity text bol zas dodrbany.Potom som zmenil na kodovanie windows-1250 a napisal som ";+ľščťžýáíé=" a prispevok v kodovani UTF-8 bol necitatelny a
prispevok v kodovani windows-1250 vypisal iba ";+" cize pismena s diakritikou nezobrazil vobec.
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 je normálne správanie. Tvoja stránka musí poslať, v akom kódovaní je ten html (aby to vedel prehliadač správne zobraziť a aby v tom kódovaní poslal odpoveď). Keď to zmeníš ručne, nemôže to fungovať (lebo texty sa posielajú v tom kódovaní).
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

No zda sa ze to bolo v SQL databaze nastavil som tam nejake kodovanie BINARY a facha to.Neviete co to je za kodovanie nebute to robit problemy?
A neviete jak celu databazu SQL prekonvertujem na toto kodovanie bo hodnoty v starom kodovani sa zobrazia zle :(
tomPD
Star
Star
Používateľov profilový obrázok
Príspevky: 679
Registrovaný: 17 okt 2005, 14:41
Bydlisko: Senec
Kontaktovať používateľa:

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

jorg22 napísal: A neviete jak celu databazu SQL prekonvertujem na toto kodovanie bo hodnoty v starom kodovani sa zobrazia zle :(
Pouzi program iconv ;)
Viac info man iconv
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 »

Ale keď má niektoré položky v jednom kódovaní a iné v inom, bude to dosť zložité.
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

ee vsetky mam momentalne v tom istom kodovani ale jak to vyuzijem ja nemam pristup k terminalu na tej stranke.Abo by islo tak ze si spravim zalohu databazy a potom to prekonvertujem a nahodim spet?
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 »

jorg22 napísal:ee vsetky mam momentalne v tom istom kodovani ale jak to vyuzijem ja nemam pristup k terminalu na tej stranke.Abo by islo tak ze si spravim zalohu databazy a potom to prekonvertujem a nahodim spet?
Tak by to išlo.
Ja používam takéto php príkazy, aby som MySql povedal, v akom kódovaní chcem tie dáta

Kód: Vybrať všetko

$link = mysql_pconnect("localhost", "testy", "testy") or die(mysql_error());
mysql_query("SET NAMES 'utf8'", $link);
mysql_query("SET CHARACTER SET 'utf8'", $link);
mysql_query("SET COLLATION_CONNECTION='utf8_slovak_ci'", $link);
mysql_select_db("testy", $link) or die(mysql_error());
(dôležité sú tie 3 stredné riadky)
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

no kua to kodovanie BINARY neni dobre bo nevidim co tam je napisane a nemozem to upravovat.Ake kodovanie by som mal dat aby to poriadne fachalo? :(
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 »

Podľa mňa je najlepšie/najbezpečnejšie práve UTF-8 (pri xml a teda aj xhtml je to štandardné kódovanie). Dosť veľa freehostingov má toto kódovanie zapnuté ako štandardné. A pri ňom ta nemusí trápiť ak niekto napr. vloží francúzsky/ruský... text do databázy.
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

tak to si budem musiet prekonvertovat celu stranku.Nepoznas daky program na linux co to spravi za mna.Alebo to pojde aj prikazom iconv naraz??
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 »

iconv môže mať iba jeden vstupný súbor. Vytvor súbor convert.sh

Kód: Vybrať všetko

#!/bin/sh

NAME=`basename "$1"`
DIR=`dirname "$1"`

FROM=CP1250
#FROM=ISO-8859-2
TO=UTF-8

echo $NAME
iconv --from $FROM --to $TO "$DIR/$NAME" > "$DIR/$NAME.utf8"
a v adresári s php súbormi (môžu tam byť aj podadresáre) spusť

Kód: Vybrať všetko

find . -type f -name "*.php" -print0 | xargs -0 -n 1 -r convert.sh
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

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

diky moc facha to. :oops: :D .Ten subor co som mal vytvorit tak to sa vola shell?Nemas nejaky link kde sa naucim aspon zaklady pls.
Napísať odpoveď