0

我们目前正在将我们的 webapp 从 ISO-8859-1 转换为 UTF-8。一切都很好,但从其他站点(注册表单)请求获取/发布变量。

其中一些发布到我们网站的网站使用 ISO-8859-1 编码,而有些网站使用 UTF-8。

问题是特殊字符的 URL 编码会因站点字符集而异。

例如: ø = ISO-8859-1 中的 %F8 ø = UTF-8 中的 %C3%B8

当我有 UTF-8 字符集时,我无法正确获得 %F8。我只得到一个 Unicode 字符“替换字符”(U+FFFD)。

任何有关如何解决此问题的提示将不胜感激:)

托比约恩

4

2 回答 2

0

您可以使用明确指定编码<form accept-charset="UTF-8">

如果您不想这样做,浏览器必须猜测您想要的编码。为此,它通常采用表单所在页面的编码。因此,如果您将 HTML 文件作为表单提供,那么UTF-8您的表单也会以UTF-8.

于 2010-11-04T21:34:48.020 回答
0

我建议您在转换之前对输入进行预分析。基本上,扫描 Æ、Ø 和 Å(大写和小写)的 iso-8859-1 代码。如果找到任何内容,请对整个请求进行搜索/替换,将 iso-char 代码交换为 UTF-8 charcode。

于 2010-11-11T11:38:33.740 回答