Er der en fejl i JavaScripts håndtering af det internationale tegnsæt UTF-8?
Jeg har lavet et lille program, som kalder sig selv med parameteren "pålæg"
(i UTF-8: pålæg). Det kan kalde sig selv enten via JavaScript eller
direkte.
Hvis det kalder sig selv via JavaScript, bliver parameteren "pålæg" ikke
overført. (parameter: null)
Hvis det kalder sig selv direkte, bliver parameteren "pålæg" overført
korrekt. (parameter: pålæg)
Prøv selv her:
http://www.yachtdatabase.com/testJavaScript.jsp
Her er Java-koden til testJavaScript.jsp:
<%@ page contentType="text/html; charset=UTF-8" %>
<%
String parameter = (String) request.getParameter("parameter");
%>
<html>
<head><TITLE>Test JavaScript UTF-8</TITLE></HEAD>
<SCRIPT>
function test(ref){
window.open(ref, '', 'width=500,height=400');
}
</SCRIPT>
<BODY>
<h1>Test JavaScript UTF-8</h1>
Parameter: <%=parameter%> <b><- se her</b><br><br>
<a href="javascript:test('testJavaScript.jsp?parameter=pålæg');">Send
UTF-8 'pålæg' via JavaScript</a><br>
<a href="/testJavaScript.jsp?parameter=pålæg">Send UTF-8 'pålæg' uden om
JavaScript</a><br>
</BODY>
</html>
Med venlig hilsen
Allan