【问题标题】:Posting HTML special character code in a form value在表单值中发布 HTML 特殊字符代码
【发布时间】:2012-03-18 01:46:17
【问题描述】:
我应该发布包含非英文字符(例如“ü”)的表单数据。 accept-charset 属性适用于 Firefox 和 chrome,但不适用于 IE。所以我决定转义所有非英文字符。例如,我将任何“ü”字符替换为其 HTML 代码 ü。
现在,当我在任何浏览器上发布表单时,代码 ü 会被替换为像“ü”这样的时髦字符串。为什么会这样,有没有办法在不更改的情况下发送表单值?
【问题讨论】:
标签:
html
post
character-encoding
【解决方案1】:
您应该使用encodeUriComponent。就是这样。
在发布之前 - 使用 JS 函数更改值(通过隐藏值或精确值)
编码URI组件。
这将使您的字符 => utf8。
所以你提交它们不会有问题。
【解决方案2】:
制作包含表单 UTF-8 编码的页面,正确声明该编码,并使服务器端表单处理程序处理 UTF-8 数据。
很难说你之前的尝试出了什么问题,但集中精力实施正确的方法更有建设性。使用 UTF-8 是确保用户输入的所有字符都正确发送的唯一方法。