<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Charsets and submitting forms</title>
</head>
<body>
<form action="?" name=f>
 <input type=hidden name=q value="&#1105;&#66560;&#119083;çc"><br>
</form>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

if (document.URL.substring(0, 4) == "file") {

    if (document.URL.indexOf('?') == -1) {
        document.f.q.value += "\u0327"; // cedilla for 'c'
        document.f.submit();

    } else {
        if (unescape(document.URL.substring(document.URL.indexOf('?')+1, document.URL.length)) == unescape("q=%D1%91%F0%90%90%80%F0%9D%84%AB%C3%A7%C3%A7"))
            document.write("<p>Success</p>");
        else
            document.write("<p>Failure</p>");
        
        if (window.testRunner)
            testRunner.notifyDone();
    }

} else {

    document.write("<p>This test doesn't work directly from bugzilla, please save it to a local file first.</p>");
}
</script>
</body>
</html>