使用MSIE从ISO-8859-1中的UTF8页面发布表格

时间:2012-08-30 10:51:09

标签: php html internet-explorer character-encoding

我正在处理的项目要求我将一个UTF-8编码页面上的HTML表单发布到只接受ISO-8859-1编码然后在iFrame中显示结果的服务器。这适用于FF,Chrome,Safari,...但在MSIE(甚至不是9)中不起作用。 IE坚持以UTF-8发布表单。我无权访问我发布的服务器,也无法更改我发布的页面的字符集。

表单包含2个具有常量值的元素,但其中一些值包含德语变音符号(Ä,Ö和Ü)。

所以我提出的解决方案是将表单发布到“Proxy-Script”,它解码请求值,通过cURL发布所有内容并返回结果。但是这个站点托管的服务器当然不支持cURL。

那么有人知道如何解决这个问题吗?我正处于使用任何简单工作的解决方案的地步(甚至是一些非常奇怪的Javascript解决方案)。

问候, 杰克

1 个答案:

答案 0 :(得分:0)

这是一个简单的黑客:

在表单中插入一个隐藏的输入字段,该字段只包含在您发布(或执行GET)服务器的字符集中接受的实体。

示例:如果表单位于服务于ISO-8859-1的服务器上,并且表单将发布到服务器,期望UTF-8在表单中插入如下内容:

<input name="iehack" type="hidden" value="&#9760;" />

IE将“检测”表单包含UTF-8字符,并在POST或GET时使用UFT-8。奇怪,但确实有效。