0
  1. 我有一个非 UTF-8 编码的页面
  2. 有一个表格method="get"。如果我提交这些非 UTF-8 字符,它们会到达 URI。
  3. 当我尝试decodeURIComponent()在 URI 上运行时,我收到了臭名昭著的错误: URIError: malformed URI sequence

请按照测试用例

问题:

  1. 上述哪个步骤(1、2、3)有问题?1应该没问题。二是标准提交方式<form>。3是标准功能。这些都是标准的!然而,某处一定有错误。

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

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

4

1 回答 1

2

火狐 说:

[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

于 2013-10-31T10:39:44.603 回答