ugrás a tartalomhoz

Flash és az Apache

nemesis21 · 2007. Feb. 19. (H), 10.27
Sziasztok !

Lenne egy nagy problémám :)
Csináltam egy full Flash - es oldalt minden jól működik rajta leszámítva egy dolgot. Van egy szobafoglalásos rész amit php segítségével továbbítok Email - be. Ez is tökéletesen működik csak az a probléma, hogy a Flash UTF-8 - as kódrendszert használ a szerverünk pedig "latin1_swedish" -re van állítva. Tudom rengeteg ilyen hozzászólás van, de a probléma mégsem ilyen egyszerű :) A szervert nem állíthatom át ugyanis mióta megy nállunk azóta így van beállítva rengeteg adatbázissal és weblappal. Azt se kérdezzétek miért erre van állítva mert ezt én sem igazán értem ... :)
Azzal is tisztába vagyok, hogy ha Flash/Html - el csinálnám már rég menne, de ez egyszerűen nem hagy nyugodni :)
Tehát létezik e valami parancs vagy beállítás amely - el a Flash latin1 - be birná küldeni az adatokat ?
Előre is köszönöm a segítséget !!!
 
1

.htaccess

Cadeyrn · 2007. Feb. 19. (H), 11.20
Üdv!

Haa .htaccess file-hoz hozzáférhetsz, írd be, hogy AddDefaultCharset utf-8, és elvileg megoldódnak a bajaid, nekem legalábbis megoldotta anno.
2

sajna nem :(

nemesis21 · 2007. Feb. 19. (H), 11.34
Szia !

Köszi a helpet :) Értem mire gondolsz csak az a gond, hogy a szervernek latin1 - en kell maradnia. Írtam a srácnak aki a szerverünket csinálja és átállította UTF-8 - ra, de kész káosz volt az összes weboldalon :( Próbáltam Encoder - ekkel de csak UTF-8 - ba bírnak konvertálni visszafele nemnagyon találtam konvertálot :(
3

.htaccess = local

Cadeyrn · 2007. Feb. 19. (H), 11.37
Üdv!

Kicsit olvass utána az apache-nak, a .htaccess csak az adott mappára állítja át a dolgokat, nem a szerveren.
4

.htacces

nemesis21 · 2007. Feb. 19. (H), 11.47
Szia!

Sajna csak FTP hozzáférésem van a szerverhez :( Amúgy említettem a srácnak, hogy csak erre az 1 oldalra állítsa át UTF-8 - ra, de valamiért az összesen átállította :S Remélem bebírja állítani és segíteni fog.
Köszi a segítséget ;)
5

Ha csak ez a probléma...

vbence · 2007. Feb. 19. (H), 12.03
(...) php segítségével továbbítok Email - be. Ez is tökéletesen működik csak az a probléma, hogy a Flash UTF-8 - as kódrendszert használ a szerverünk pedig "latin1_swedish" -re van állítva.

Ha csak ez a probléma, akkor nem kell rá odafigyelni, ha meg mégse működik "tökéletesen" akkor miben nyilvánul meg a hiba? (Talán rosszak az ékezetek a kimentő levélben?)

Borítékolnám neked, hogy semmi köze az apache beállításának a problémádhoz, hiszen az csak az alapértelmezett beállítás, ami a szerver által a kliensnek küldött tartalomra vonatkozik, és nem is magát a kódolást állítja, csak jelzi a kliensnek, milyen kódolást várjon.
6

???

nemesis21 · 2007. Feb. 19. (H), 12.25
Szia!

Bocsi biztosan én írtam valamit rosszúl. Ha POST - al kiküldöm az adatokat a Flash - ből rosszúl jelennek meg a karakterek tehát nincs ékezetes betű. DE !! A PHP - ba beírt karakterek tökéletesen megjelnnek. TXT formátumba kimentettem a levelet latin1 - be látom a PHP - ba írt ékezetes betűket, de ha átállítom UTF-8 - ra a PHP - s ékezetek mennek szét, de látom a Flash által küldött ékezetes karaktereket.
Egy másik jó példa ha HTML - be csinálom meg ugyan ezt az ürlapot akkor tökéletesen belekerülnek az ékezetes betük LATIN1 - be !!
Így arra következtettem, hogy a PHP mint a HTML automatikusan a szerver által beállított kódkészletet használja. Ezért írtam, hogy az Apache lehet ebben a ludas, de így egy kicsit elbizonytalanodtam :S
Köszi mégegyszer!
7

... but it's wrong

vbence · 2007. Feb. 19. (H), 13.28
A böngésző úgy kódolja akaraktereket ahogy a html van (ez a alapból a szerver default kódlapja, de felülírhatod metával a html-ben). A flash ezzel szemben utf8-ban küldi az adatokat. Itt van különbség, a szerveroldalon semmi.

Tételezzük fel, hogy a flash mindig utf8-at használ. (És lusták vagyunk utánézni, hogy tudja-e máshogy küldeni.) Két lehetőségünk van. Vagy elmentjük a PHP-t utf8-as karakterekkel, és utf8-as levelet küldünk ki (amit pár butább levelzőprogram, mint pl az outlook nem annyira szeret), vagy pedig azt a pár magyar ékezetes karaktert az utf8-ban kicseréljük a latin2-es változatukra. (A latin1-et felejtsük el, mert nincs hosszú ő ű Ő Ű, csak kalapos.)
8

Konvertálás a szerveroldalon

vbence · 2007. Feb. 19. (H), 14.36
Feltettem egy félkész cikket. Van benne egy utf-8 -> latin2 konvertáló függvény, ami segíteni fog neked:
http://vbence.web.elte.hu/utf8_latin2_iso8859_2_kovertalas.html

Ezen átfuttatod a klienstől (POST) kapott adatokat, és iso8859-2 fejléccel küldheted a levelet. Stimmelni fog a a php-be "égetett" stringjeidhez.
9

Működik :)

nemesis21 · 2007. Feb. 19. (H), 15.00
Szia !!

Nagyon köszönöm a segítséged ! Végre látszódnak az ékezetes betűk :)
Én is kutattam sokáig egy ilyen script után, de csak UTF-8 - ba akart mindenki mindenhol alakítani :)
Mégegyszer nagyon köszönöm !!!!