提交的字符编码 - _charset_隐藏字段

时间:2010-07-01 15:27:07

标签: html utf-8 character-encoding iso-8859-1 windows-1252

对于我们的网络应用,我们有多个包含文本区域的HTML页面。我们所有的页面都使用ISO-8859-1字符集进行渲染。当通过Windows机器上的IE6访问页面并将特殊字符(如“智能引用”)复制到文本区域时,我们的一些页面使用Windows 1252字符编码提交页面。在其他页面上,页面似乎使用UTF-8字符编码提交。我一直在使用以下隐藏字段跟踪提交字符编码:

<input type="hidden" name="_charset_" />

在Windows 1252提交字符编码页面上,我们收到“windows-1252”的值。

在UTF-8提交字符编码页面上,我们收到一个空白值。

在后端,我们正在使用ISO-8859-1。虽然理想情况下我们想要提交字符编码,但我没有看到在IE 6上强制该行为的选项。鉴于Windows 1252和UTF-8之间的选择,我更希望在Windows 1252中提交内容以便更有可能在ISO-8859-1中重新呈现页面时正确呈现。

我已经深入研究了我们的页面,没有任何内容突然出现,因为有些页面以一种字符编码提交。

1)当IE 6返回空白的字符集时,这实际上是否等同于UTF-8?当提交字符编码为UTF-8时,IE 6是否总是返回空格字符集,或者仅当它无法正确确定要使用的字符编码时才会返回空白字符集?

2)导致IE 6在某些页面上选择Windows 1252而在其他页面上选择UTF-8的页面可能存在哪些差异?我在页面上扫描了UTF-8字符和任何accept-charset属性,但也找不到。

附加说明:我在以下链接中找到了 charset 隐藏输入的信息。

http://web.archive.org/web/20060427015200/ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html

1 个答案:

答案 0 :(得分:0)

MSDN声明IE仅接受“utf-8”作为此属性的值。