使用非UTF-8编码的get方法提交表单

时间:2013-10-31 09:27:43

标签: javascript html utf-8 uri

  1. 我使用非UTF-8编码page
  2. method="get"的表单。如果我提交这些非UTF-8字符,则会转到U​​RI。
  3. 当我尝试在URI上运行decodeURIComponent()时,我得到infamous errorURIError: malformed URI sequence
  4. 请按照 the testcase

    问题:

    1. 上述哪个步骤(1,2,3)是问题? 1应该没问题。 2是提交<form>的标准方式。 3是标准功能。所有这些都是标准的!但某处肯定会出现错误。

    2. URI中是否允许使用UTF-8以外的编码字符? (如果不是,问题显然在步骤2中。)

    3. 问题得到正确诊断后,问题是 - 什么是一个干净的解决方案?该页面必须保持非UTF-8编码。

1 个答案:

答案 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