jQuery post, skickar fel tecken i IE

Permalänk
Medlem

jQuery post, skickar fel tecken i IE

Hej!

Gud vad jag kämpar med mina formulärposter för att få det att fungera i internet explorer m.fl.

Använder jag t.ex:

$.post("test.jsp",{test:"åäö"},function(html){
$("#test").html(html);
});

och sedan skriver ut parametern test på test.jsp skriver den kort och gott "åäö" i #test-rutan när man är i firefox. Men Internet explorer tolkar det som "åäö"
Samma med $.load, $.ajax osv..

Har ni någon lösning, anledning eller vad som helst? Måste lösa detta..

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

"åäö" är utf8-encodat. Så du får decoda det eller köra utf8 fullt ut.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av iXam
"åäö" är utf8-encodat. Så du får decoda det eller köra utf8 fullt ut.

Ska jag göra det i JSPn eller i javascriptet ?

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

Kolla först och främst så att dina filer och din HTML har samma encoding. Att sätta <meta ... charset=utf-8"> räcker inte, du måste även spara själva textfilen som UTF-8, annars sparas filen vanligtvis med svenska tecken representerade med en byte.

Detta är en av de vanligaste missarna man gör och systemet är tillkrånglat. Det gäller även databaskopplingar där databasen är inställd på exempelvis ISO 8859-1 och hemsidan vill visa UTF-8. Om sedan själva HTML-filen är sparad i en annan encoding blir det soppa av alltihopa och man börjar krångla med encodes och decodes i olika led.

Om du vet med dig att du inte sparat alla filer som UTF-8 utan BOM (Byte Order Mark) så börja med att testa det. Försäkra dig även om att du har en korrekt encoding satt med meta-tag.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Nu har jag gått igenom precis alla filer. Dock kan jag inte välja utan BOM i Eclipse ?

Det blir ingen skillnad.. Varför funkar det som det ska i ff ?

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

Testa att öppna i Notepad++, den editorn kan spara med och utan BOM. Jag tror att FF har bättre stöd för UTF-8+BOM än IE, men för tillfället är det omöjligt att säga om encoding ens har med problemet att göra. Det ser ju ut som det med tanke på tecknena som dyker upp.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Jag testade att göra ett GET anrop istället

$.ajax({
type: "GET",
url : "testContentType.jsp",
dataType:"html",
data: {test:"åäö"},
success: function(html){
$("#test").html($.trim(html));
}
});

Då blev det lika dåligt i alla webbläsare. Är det ett steg framåt?

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

Nja, det ger ju inte så mycket mer information om situationen. Gut feeling är fortfarande att det rör sig om encodingproblem.

Visa signatur

Kom-pa-TI-bilitet