Szeretnék jQuery-vel egy ISO-8859-2 kódolású oldalból egy ISO-8859-2 kódolású ajax kérést küldeni a webszerver felé, de a kérelem fejléce mindig UTF-8 lesz, hiába adom meg a contentType option-t is.
Hogyan tudok megadott kódolású kérést küldeni a webszerver felé?
Mivel csak a POST adatokban lévő ékezeteket kellene helyesen elkódolnom, más megoldás is érdekel, csak az ő és ű működjön.
- 1111 megtekintés
Hozzászólások
$.ajax({
type: "POST",
url: "ajax.php",
contentType: "text/html; charset=iso-8859-2",
data: "valami",
success: function(response) {
}
});
Vagy a másik oldalt használj iconv-ot.
pch
--
SB-soft online ügyviteli rendszer
--
- A hozzászóláshoz be kell jelentkezni
Ezt próbáltam, ez nem működik sajna. A text/html-ként elküldött post adat meg sem érkezik a PHP POST tömbjébe, de ha contentType application/x-www-form-urlencoded, akkor legalább elérhetem az elküldött adatokat.
Valami olyasmi lehet a háttérben, hogy hiába iso-8859-2 minden - fájlok, webszerver, header - a firefox mégis utf8-ban futtatja a javascriptet.
A szerverkornyezetre nincs ráhatásom, és nincs benne iconv.
- A hozzászóláshoz be kell jelentkezni
> a text/html-ként elküldött post adat meg sem érkezik a PHP POST tömbjébe
Ez így van, cserébe kiolvashatod innen: file_get_contents("php://input");
- A hozzászóláshoz be kell jelentkezni
És gondolod, hogy karakterkódolás szempontjából számít, hogy a POST-ból olvasom-e ki, vagy innen?
- A hozzászóláshoz be kell jelentkezni
JSON.stringify + json_decode esetleg (kiegészítésként) iconv függvény a fogadó "php" oldalon?
A világ IQ-ja állandó, csak egyre többen vagyunk rá....
- A hozzászóláshoz be kell jelentkezni
Jelenleg azt a megoldást használom, hogy szerver oldalon escape fügvénnyel elkódolom az adatokat ékezetmentesre, a php rawurldecode függvényével visszakódolom, az "ő" és "ű" kódokat pedig manuálisan helyettesítem a megfelelőre. Így egészen működőnek tűnik, de ... hát messze nem szép és teljes megoldás.
- A hozzászóláshoz be kell jelentkezni
> Mivel csak a POST adatokban lévő ékezeteket kellene helyesen elkódolnom, más megoldás is érdekel, csak az ő és ű működjön.
Felejtsd el az ISO-8859-2-t, állj át UTF-8-ra mindenütt.
- A hozzászóláshoz be kell jelentkezni
Sajnos a környezet kötött.
- A hozzászóláshoz be kell jelentkezni