<!doctype html> <meta charset=gbk> <!-- if the server overrides this, it is stupid, as this is a testsuite --> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <div id=log></div> <script> function encode(input, output, desc) { test(function() { var a = document.createElement("a") // <a> uses document encoding for URL's query a.href = "https://example.com/?" + input assert_equals(a.search.substr(1), output) // remove leading "?" }, "gbk encoder: " + desc) } encode("s", "s", "very basic") encode("\u20AC", "%80", "Euro") encode("\u4E02", "%81@", "character") encode("\uE4C6", "%A1@", "PUA") encode("\uE4C5", "%FE%FE", "PUA #2") encode("\ud83d\udca9", "%26%23128169%3B", "poo") </script>