Ajax adatküldés után php-vel megfelelő karakter kódolás
Sziasztok!
Biztos megint olyat kérdezek ami teljesen kézenfekfő, és valószínüleg kapok is majd a fejemre, de nem boldogulok egy apró problémával!
Ajaxal elküldöm az adatokat egy php file-nak hogy feldolgozza, de nem tudom megfelelően kezelni a karaktereket! Javascriptben a küldés előtt csinálok encodeURI-t, és php-ben urldecode-t. De nem stimmelnek az ékezetes betük!
Ez lesz az Álmos szóból: Ălmos
Ha mondok az urinak az urldecode helyett rawurlencode és egy html_entity_decode, akkor teljesen helyesen megkapom a százalék jelekkel elválasztott hexadecimális karakter kódokat! Hogyan lesz ezekből újra betű?
Gondoltam ez is egy megoldás: ereg_replace("%C3%81", "Á", $sentdata); ,de ennyire pancser nem lehetek!
Segítségeteket előre is köszönöm!
s_volenszki
■ Biztos megint olyat kérdezek ami teljesen kézenfekfő, és valószínüleg kapok is majd a fejemre, de nem boldogulok egy apró problémával!
Ajaxal elküldöm az adatokat egy php file-nak hogy feldolgozza, de nem tudom megfelelően kezelni a karaktereket! Javascriptben a küldés előtt csinálok encodeURI-t, és php-ben urldecode-t. De nem stimmelnek az ékezetes betük!
Ez lesz az Álmos szóból: Ălmos
Ha mondok az urinak az urldecode helyett rawurlencode és egy html_entity_decode, akkor teljesen helyesen megkapom a százalék jelekkel elválasztott hexadecimális karakter kódokat! Hogyan lesz ezekből újra betű?
Gondoltam ez is egy megoldás: ereg_replace("%C3%81", "Á", $sentdata); ,de ennyire pancser nem lehetek!
Segítségeteket előre is köszönöm!
s_volenszki
Karakterkódolás
és hol lesz belőle ez?
Másrészt hol látod ezt az eredményt? DB-ben? Csak kiíratod? Vagy hol nézed?
Nem mindegy.
Ha DB-ben, akkor ellenőrizd, hogy a DB és az alkalmazás (plusz apache header kiküldés) mind stimmel-e.
Plusz olvasd el a siteon legfölül lévő karakterkódolásról szóló cikket. :D
Hol nézem...
s_volenszki
Megoldás
Tovább kutakodtam itt a laboron, és Bártházi András, AJAX fejlesztés - kommunikáció cikke hozzászólásaiban találtam meg a megoldást:
s_volenszki
ajax iconv
http://hu.php.net/manual/hu/function.mb-convert-encoding.php
(persze ICONV is megfelelő)
egy link
é helyett ĂŠ
Hát nekem is lenne egy számomra érhetetlen probléma.
Én is POST ból kapot ajaxon keresztük php ig kommunikál.
Az a gond amikor elküldöm az adatot akkor az ékezetes karakterekre egy kicsit furám reagál. Hát itt az é helyett ĂŠ valami érhetetlen karaktert kaptam, de nem tudom, hogy miért?
A php ban a headerben Latin2 re állítottam be, aztán UTF8 ra. UFT8 nál okés a küldött ékezetes karakterek, de akkor meg amivel összehasonlítom akkor meg kérdőjeleket kapot szépen és valami itt nem jó, de nem értem, már az ererni() függvényt is körbejártam, de nem jó :(
Mi lehet a megoldás? Vagy ötlet?
problémás pontok
Én amikor ezt a topikot nyitottam a következő hibákat követtem el. Ezekre ha odafigyelsz, minden szuper lesz!
1. Az adatok megfelelő előkészítése (encode-olása) küldés előtt. Nekem a jól bevált módszer ez=>
s_volenszki
két vonatkozó cikk
http://weblabor.hu/cikkek/jsadatcsere
Üdv,
Felhő