Dreamweaver átállítja az utf8 kódolást
Sziasztok!
Több modulból állítom össze az oldalt, és amikor létre akarok hozni egy új php fájlt, amit majd require-ezek, eredetileg utf8 a kódolása.
Az a problémám, hogy amint akármit beleírok a fájlba, a Dreamweaver magától átállítja Nyugat-Európaira a kódolást és máris kockák jelennek meg az ékezetes karakterek helyett. Ha kitörlöm a fájl teljes tartalmát, megint utf8-as lesz a kódolása.
A header charset sem segít rajta.
Tudtok valami megoldást?
Köszi
■ Több modulból állítom össze az oldalt, és amikor létre akarok hozni egy új php fájlt, amit majd require-ezek, eredetileg utf8 a kódolása.
Az a problémám, hogy amint akármit beleírok a fájlba, a Dreamweaver magától átállítja Nyugat-Európaira a kódolást és máris kockák jelennek meg az ékezetes karakterek helyett. Ha kitörlöm a fájl teljes tartalmát, megint utf8-as lesz a kódolása.
A header charset sem segít rajta.
Tudtok valami megoldást?
Köszi
Beállítás
php print
Ha nem php-val printelek ki szöveget, akkor nem írja át a kódolást.
Tehát, ha html a tartalma, akkor marad unicode, de ha php-val íratom ki, akkor nem.
- ctrl+j (page properties
- jobb oldalt a categories részen kattints a title/encoding-ra
- az encoding legördülő menüben állitsd be hogy a karakterkódolás legyen Unicode(UTF-8)
Ami esetleg még befolyásolhatja az oldal karakterkódolását az az
edit->preferences->new Document->Default encoding beállitás ( és az alatta lévő jelölő négyzet.... use this when bla bla bla, vagyis amikor a Dw nem tudja megállapitani 1 file karakterkódolását akkor az itt alapértelmezettként beállitott karakterkódolást használja én ebböl a jelölő négyzetböl a helyedben kivenném a pipát, igy a DW biztos nem állitja át magától a file karakterkódolását)
Illetve ha már UTF-8/Unicode-ról van szó, a helyedben én a include Unicode Signature (BOM) jelölő négyzetet sem jelölném be
köszi
egyedül a .js fájlok maradnak valamiért Nyugat-Európaiak, de abban nem használok ékezetet, ezért szerintem ezzel talán nem lehet probléma.
ctrl+j megoldás a .js
Az eddigi tapasztalataim alapján bármilyen szövegfile-nál müködik ez a megoldás
Érdemes arra odafigyelni , hogy ( ha lehet) akkor minden file-nak (php/html/js)azonos legyen a karakterkódolása
Sok fejfájástól/hibakereséstől kimélheted meg igy magad később
köszi :)
Azt már észrevettem, hogy sikerrel vissza tudom állítani a félrekódolást utf8-ra, ha nyitva van egy másik utf8-ban kódolt fájl is a DW-ben. Valamiért ilyenkor azt veszi alapul.
Személyes tapasztalat
Sokat görnyedtem ezzel én is.
A megoldás:
Az include BOM nem jó, hiszen a php állományok warningot adnak, mondván, hogy az outputban már van valami... tehát se sütit se fejléc infót nem tudsz küldeni vagy ha mégis, akkor is warning lesz.
Az tökéletes amit írtatok, hogy be lehet állítani az új lapok alapértelmezett karakter kódolását, de a visszatöltés után, (ha nincs ékezetes betű például ű az állományban) visszaállítja Nyugat Európaira. Sőt az is okés, ha nem módosítod sokszor a fájlt, hogy mielőtt a "végleges" mentést csinálod átállítod a page properties ben a title/encoding -ot utf-8 canonical -ra.
Ezzel csak akkor van gond, ha a fejléc információt a karakter kódolást pont egy olyan állományból veszi amiben nincs ékezet (ez lehet a Js-es állomány programozástól függően) az első output is eldönti (ha nincs fejléc infó, hogy mi lesz a megjelenített karakter kódolás. (Ilyen esetben szoktak lenni kalapos nagy A-k vagy kérdőjelek az ö-k helyett))
Van még egy hely, ami a dreamweaver font (betű megjelenítés) beállítására vonatkozik... Ott én verdana-t állítottam és UTF-8-at. (ez elméletileg csak a dreamweaverben lévő kódmegjelenítésre vonatkozik, de a megoldás része azt hiszem)
Viszont önmagában ez még mindig nem oldotta meg a gondot.
DE...
Minden egyes modulba/állományba kommentként egy <!-- ű --> megadásával, vagy phpben //ű megadásával tökéletesen warning mentesen megoldódott a kérdés. Így minden alkalommal utf-8 ként nyitotta meg a lapot és úgy is mentette.
----------------------------------------------------------------------------
Richárd
Sikerprogram