首页 文章

基于代码页的不同查询字符串urlencoding . ASP经典

提问于
浏览
0

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

发布到我们网站的一些网站有ISO-8859-1编码,而som有UTF-8 .

问题是特殊字符的URL编码方式不同,具体取决于站点字符集 .

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

当我有UTF-8字符集时,我无法获得%F8 . 我只获得Unicode字符'REPLACEMENT CHARACTER'(U FFFD) .

如何解决这个问题的任何提示将非常感谢:)

Torbjørn

2 回答

  • 0

    您可以使用 <form accept-charset="UTF-8"> 显式指定编码 .

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

  • 0

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

相关问题