首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE转换磅(IE)符号

IE转换磅(IE)符号
EN

Stack Overflow用户
提问于 2009-02-24 11:51:32
回答 4查看 4.4K关注 0票数 1

我有一个html表单,它可以做各种奇怪的后端事情。这在firefox中工作得很好。而且在大多数情况下,它在IE中运行良好

然而,(英镑) in符号会导致问题,并且似乎在提交时被忽略了。

表单如下所示

代码语言:javascript
复制
 <form action="*MyFormAction*"  accept-charset="UTF-8" method="post">

我想我以前见过这个问题,但记不住解决方案了。

编辑,欧元符号euro工作正常

编辑2,事实上,如果我将欧元符号与£符号放在一起,它也可以正常工作。看看这个问题,如果我使用的字符不在iso8859-1的扩展部分,它可以正常工作。如果我使用来自iso8859-1的扩展字符,它们会被忽略。那么如何让IE使用accept-charset所说的字符集呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-24 14:12:14

accept-charset="UTF-8“

在IE中不做你认为它做的事情(或者标准说它做的事情)。取而代之的是,IE使用值(‘UTF-8’)作为替代编码列表,以防字段无法使用通常的默认编码(与页面自己的编码相同)进行编码。

因此,如果您添加了这个属性,并且您的页面不是UTF-8格式的,那么您可以获得以页面编码或UTF-8格式提交的字符,并且您的表单提交读取脚本没有办法知道!

出于这个原因,您永远不应该使用accept-charset;相反,您应该始终确保包含表单的页面被正确地用作“Content-Type:text/html;charset=utf-8”(通过HTTP头和/或)。

,实际上,如果我把欧元符号和£符号放在一起,也没问题。

是的,这是因为不能用页面的默认编码(大概是ISO-8859-1)来编码‘encoded’。因此,IE采用UTF-8格式发送字段,这正是您一直想要的。

票数 6
EN

Stack Overflow用户

发布于 2009-02-24 14:25:25

我认为博本斯有一个理想的答案,那就是“用UTF-8为页面提供服务”,但由于我不能做到这一点,我把我的工作发布到各处,以求繁荣。

添加一个带有非ISO-8859-1 (我们的页面使用的)扩展字符的隐藏字段unmunge会强制提交到UTF8中

所以

代码语言:javascript
复制
<input type="hidden" name="unmunge" value="&#x20ac;"  />

修复编码(实体是欧元符号)。

票数 1
EN

Stack Overflow用户

发布于 2009-02-24 11:55:15

is是如何提交的?如果它在价格的输入框中,不要提交,只允许提交数字,并在再次显示价格时添加an。或者在后端脚本中添加货币符号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/581483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档