webForumDet fria alternativet

ASP + jQuery + ISO8859-1 = problem

4 svar · 1 647 visningar · startad av l-boy

l-boyMedlem sedan juli 2003221 inlägg
#1

Har en mycket enkel sida med <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

och följande kod i <body>-taggen

<div id="result">text .. text</div>
<input type="text" id="textinput">
<input type="button" id="load" value="ladda">
<%=session("a")%>

Ett enkelt jquery-script som körs när man klickar på knappen ovan

$("#load").click(function() {
$("#result").load("load.asp", { data: $("#textinput").val() } );
});

som anropar load.asp som ser ut såhär:

response.write request("data")
session("a") = request("data")

Vid körning av ovanstående, med "ÅÄÖ" inskrivet i textfältet uppdateras div'en 'result' korrekt med "ÅÄÖ". Laddar jag däremot om sidan för att se vad sessionen 'a' innehåller så innehåller den "ÅÄÖ ".

Adderar jag response.Charset="ISO-8859-1" till load.asp så blir innehållet i sessionen korrekt, men det som skrivs ut blir då felaktigt istället.

Lösning?

SPiNMedlem sedan mars 20007 896 inlägg
#2
$.ajaxSetup({
    'beforeSend' : function(xhr) {
        xhr.overrideMimeType('text/html; charset=ISO-8859-1');
    },
});
$('#result').load('load.asp', {...});

Se också till att servern skickar rätt headers och att dina filer är sparade i samma teckenkodning som du använder.

l-boyMedlem sedan juli 2003221 inlägg
#3

Med ditt förslag slutar ajax-delen att fungera i IE7.
Den körs i Firefox, men felet kvarstår.

Det måste ju finnas hur många som helst som använder jQuery tillsammans med ISO-8859-1 och vill t.ex ajax-posta direkt till en databas.

SPiNMedlem sedan mars 20007 896 inlägg
#4

Ja, det finns antagligen ganska många. Du verkar däremot blanda olika teckenkodningar, annars brukar inte sånt här hända.

<% Response.Charset = "ISO-8859-1" %>
$('#result').load('load.asp', {
    data: dinData,
    contentType: "application/x-www-form-urlencoded; charset=iso-8859-1"
});

load.asp:

Response.Charset = "ISO-8859-1"
Response.Write Request.Form("data")
l-boyMedlem sedan juli 2003221 inlägg
#5

Får det ändå inte att fungera.

Edit:

DEN BIFOGADE FILEN VERKAR EJ FUNGERA.
Korrekt fil finns istället att ladda ner här http://www.heaven7.se/jquery.zip

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)