method="get"
的表单。如果我提交这些非UTF-8字符,则会转到URI。decodeURIComponent()
时,我得到infamous error:URIError: malformed URI sequence
。请按照 the testcase 。
问题:
上述哪个步骤(1,2,3)是问题? 1应该没问题。 2是提交<form>
的标准方式。 3是标准功能。所有这些都是标准的!但某处肯定会出现错误。
URI中是否允许使用UTF-8以外的编码字符? (如果不是,问题显然在步骤2中。)
问题得到正确诊断后,问题是 - 什么是一个干净的解决方案?该页面必须保持非UTF-8编码。
答案 0 :(得分:2)
Firefox说:
[11:38:39.275]表格以ISO-8859-2编码提交,不能编码所有Unicode字符,因此用户输入可能会被破坏。要避免此问题,应更改页面,以便通过将页面本身的编码更改为UTF-8 或通过在上面指定accept-charset = utf-8来以UTF-8编码提交表单表单元素。 @ http://artax.karlin.mff.cuni.cz/~ttel5535/pub/bugs/form_get_submit_non_utf-8/non_utf8_uri_test.html?input=%B9