webForumDet fria alternativet

Formulär skickas tillbaka med UTF-8

XML

5 svar · 553 visningar · startad av Marcus E

Medlem sedan maj 20021 466 inlägg
Frågan#1

Jag har ett formulär som ser ut så här:
<form method="post" action="..."">
<input name="a"/>
</form>

Om jag har detta i en HTML-fil och skriver åhå får jag tillbaka a=%E5h%E5. E5 står för å, så det är rätt.

Om jag däremot lägger formuläret i en XSL-fil som jag kopplar till en XML-fill på detta sätt:
XML-fil:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<empty/>

XSL-fil:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

<form method="post" action="...">
<input name="a"/>
</form>

</xsl:template>
</xsl:stylesheet>

kodas datan som UTF-8. Jag får alltså tillbaka a=%C3%A5h%C3%A5 istället.

Jag har försökt att använda Accept-Charset på formuläret, men det hjälper inte.

Jag använder Internet Explorer 6. Hur ska jag få det att skicka tillbaka formuläret i det format jag önskar (ISO-8859-1)?

Medlem sedan aug. 2002477 inlägg
#2

Pröva att lägga till:
<xsl:output method="html" media-type="text/html">

Om inte det fungerar lägg till ett dolt fäl i formuläret:
<input type="hidden" name="contentType" value="text/html"/>

Medlem sedan maj 20021 466 inlägg
#3

Problemet försvann efter att jag startade om Windows och kom tillbaka nu. Troligen en bugg i Internet Explorer. :(

Var ska xsl:output vara? Eftersom forumläret fungerar f.ö., tvivlar jag på att xsl:output hjälper.

input-fältet förändrade ingenting.

Medlem sedan maj 20021 466 inlägg
#4

Jag har fortfarande problem med detta. Jag har provat Accept-Charset på formuläret men det fungerar bara i Mozilla.

Medlem sedan juli 20013 378 inlägg
#5

Standardkodningen vid utmatning från en XSL-transformation är UTF-8 I MSXML.

Vad händer om du provar

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html" [b]encoding="ISO-8859-1"[/b] media-type="text/html" [b]/[/b]>
    <xsl:template match="/"> 
...
...
...

Läs mer på http://www.w3.org/TR/xslt#output

Medlem sedan maj 20021 466 inlägg
#6

Det fungerade faktiskt. Tack. :D

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)