【发布时间】:2011-09-28 11:11:19
【问题描述】:
是否有 HTML 表单使用的默认字符集?或者是否使用了默认的 accept-charset 属性?
我们的在线表单中的字符和字符集遇到了一些问题。
HTML 页面设置为使用字符集 ISO-8859-1(使用 content 元标记),但表单中没有设置特定的 accept-charset 属性。
后端的数据库使用 UTF-8 编码。
我不知道为什么这里使用了两种不同的字符集——这个决定比我早一些,而且不能轻易改变。
大多数时候,一切都很顺利。当有人输入未包含在 ISO-8859 字符集中的字符时,问题就出现了——它在浏览器中正确显示,但作为未知实体进入后端。 真的奇怪的是,它然后将返回正确地传输到浏览器。
到目前为止,我假设即使用户在表单中输入了不在 ISO-8859 字符集中的字符,页面在向服务器发送数据时也会使用来自meta 标签的字符集;导致奇怪的实体显示在数据库中。这听起来像是一个可行的解释吗?如果是的话,更改 HTML 页面的内容类型是否是解决问题的合理解决方案?
干杯。
【问题讨论】: