» »

Šumniki in znaki s strehcami se ne prikazujejo pravilno!

Šumniki in znaki s strehcami se ne prikazujejo pravilno!

Jackass ::

Pri sebi na računalniku sem imel portal php-nuke (na svojem strežniku). Ko sem ga dokončal, sem ga prenesel na drug strežnik. Ko sem odprl stran, sem opazil, da se namesto š-jev, č-jev in ž-jev prikazujejo drugi znaki. Pri meni so bili znaki normalni.

Kaj je vzrok težavi in kako to lahko popravim? Ročno popravljanje, bi bilo preveč zamudno, ker je tega...
jAcKaSS

Jackass ::

Sm ugotovu, da če v browserju določm Encoding na Central European (windows-1250), potem se znaki prikazujejo pravilno. Vendar ko stran ponovno naložim (Refresh/Reload) se spet Encoding spremeni na Unicode v IE in na Western European v Mozilli. V obeh primerih, napačno.

Kako torej lahko to popravim? A je kje v php kodi to dolčn?
jAcKaSS

Tomay ::

Imaš kaj takega v head
charset=iso-8859-2"

Mora bit v html kodi nastavljeno kateri charset je. iso je bolj pravilen (standardiziran) drugi pa je win1250.
Browserji potem avtomatsko preklopijo.
Voodoo 4Ever

Jackass ::

Sm pregledu header in druge strani iz katerih je sestavljen portal, ampak js nism najdu nobenga charset-a.

Ni mi pa jasn to, da ko pr seb odprem portal je vedno Encoding na windows-1250, ko prenesem portal na drug strežnik, pa vedno skoč na iso-8859-1.

A je možn, da mam js pr Apache serverju določn, da je charset nastavljen na windows-1250 (tm vem da sm neki naštimavu ta charset), tle na tem strežniku zdej je pa nastavljen kot privzeto na iso-8859-1?

Sm za poskus ustvaru en html dokument, mu določu charset na iso-8859-1. Nato sm ga najprej odprl v browserju, kot pot pa sem vnesel pot do datoteke (c:\mapa\test.htm). Ko sm odprl dokument sem pogledal pod Encoding v browserju in videl, da je izbran Western Europe. Torej pravilno (tako kot sem določil).
Nato sem pa datoteko prenesel v mapo webserver in jo odprl. Kot pot sem vnesel http://localhost/test.htm. Pogledal sem pod Encoding in videl, da je nastavljen na Central European. Torej kljub temu, da sm v html datoteki določil charset na iso-8859-1, tega browser ni upošteval.

A se da v dokument kej napisat, da prsil browser, da nastav željeni encoding?
jAcKaSS

Zgodovina sprememb…

  • spremenil: Jackass ()

snow ::

< meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" >

tole je v headerjih... aja pa pametno je pogledat (recimo v dreamweverju) v kakšnem encodingu je dokument.. razlika je potem ko se zadeva shrani. uporabljaj central european (iso)... včasih sem mel tud s tem probleme :)

lp
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

celk ::

Ja krivec je Apache, ker ima privzeto nastavljen latin1 DefaultCharset, ki "povozi" kodiranje v .php. Vse se ta urediti v conf datoteki od apačija:

Če si na Windows sistemu potem je to datoteka:

\Program Files\Apache Group\Apache2\conf\httpd.conf

popravi vrstico:
AddDefaultCharset (privzeta nastavitev)
v:
AddDefaultCharset Off

Meni je tudi nagajalo.

Jackass ::

celkukec: Sej če bi bil moj server pol ne bi bil problem. Sam to je en server, kjer so mi ponudl zastonj hosting in se glih ne morm pritoževt (no ja), k sm samo hvaležn, da sm dubu en free hosting za stran.

Sam vidm, da bom z dodatnim delom poplaču free storitev.:(
jAcKaSS

Jackass ::

Ugotavlam, da krkol nardim, ne bom mogu povsod spremenit vse š in ž je v tisto unicode codo za te znake. Ker tut če spremenim vse napise in vsatvlam namest š "š" ostane še vedno forum, novice... kjer bodo tut drugi pisal in bodo pol namest š-jev in ž-jev uni kvadratki.

A tega se nikakor ne da spremenit? Mislm kako bi lahko obšel to, da ne bi server določal encodinga?
jAcKaSS

celk ::

Res imaš samo dve možnosti:

a.)
Zaprosi skrbnika strežnika za nastavitev:
AddDefaultCharset Off
To bo najbolj elegantno. Mislim, da je mogoče to nastavitev vsiliti tudi "po uporabniku". Potem ne boš imel problemov, ker boš sam v glavi .php datoteke določil kodiranje. Z Unicode je precej sranja tudi v MySQL. Sicer podpira zelo dobro, vendar je potrebnih še več nastavitev na strežniku kot za preprosto zoraj omenjeno spremembo v apache.conf, če ni skrbnik strežnika že za vse poskrbel (NI!)).

b.)
Vse v Unicode. Predelaj portal. Stestiraj. Pošlji nazaj v skupnost. Neizmerno ti bomo hvaležni.

PS S tem pod b.) te nisem hotel dražit. Upam, da ti kdo "kompenzira" vložen trud.

Jackass ::

celkukec: Sm glih hotu začet delat to kr si predlago pod črko b. In odprem language datoteko in že hočm začet z zamenjavo vseh č, š in ž z unicode znaki. Nato pa v prvi vrstici opazm:
define("_CHARSET","iso-8859-2");.

In pol je nastou takle nasmešk: :D, zamenjam iso... z windows-1250, odprem svoj page in TA-DA! Znaki so prikazani pravilno. :D :D

Na svojm serverju mam namreč določen kot privzeto windows-1250 in zato sploh nism opazu te napake že prej.

Sam ni mi pa jasn, kako to, da tega "_CHARSET"-a nism najdu nikjer v php kodi. Sploh ne vem v keri datoteki je uporablen (v language datoteki je namreč določena samo njegova vrednost). Ampak sej ni važn, važn da dela.
jAcKaSS


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[XAMPP] Server se polomi ob čšžđć

Oddelek: Izdelava spletišč
91063 (896) alexa-lol
»

Šumniki in MySql

Oddelek: Izdelava spletišč
195845 (5382) SPEEEED
»

MySQL in czs

Oddelek: Izdelava spletišč
423084 (2174) krho
»

problem s šumniki v apache

Oddelek: Izdelava spletišč
141656 (1460) plavko61
»

Problem s charsetom

Oddelek: Izdelava spletišč
111210 (1043) Matek

Več podobnih tem