【问题标题】:HTML forms: issues combining charset with enctype in FirefoxHTML 表单:在 Firefox 中将字符集与 enctype 结合起来的问题
【发布时间】:2018-08-15 17:38:16
【问题描述】:

我有一个带有留言板的网站。该板允许人们发布消息并包含附件。每次有人用非 Unicode 字符写帖子时,我的网站都会出现问题。为了解决这个问题,我将我的 HTML 表单代码从

enctype="multipart/form-data"

(因为我接受文件上传)到:

enctype="multipart/form-data;charset=UTF-8"

这解决了字符问题。但它破坏了 Firefox 2 到 3.5 中的文件上传功能。 Firefox 接受用户提交的所有文本,但不接受文件数据。它的行为完全像它应该的那样,但好像没有提交文件。在 Safari 中一切正常。

我也试过了

enctype="multipart/form-data" accept-charset="UTF-8"

...但这对字符问题没有影响。

对解决这个问题有什么想法吗?

【问题讨论】:

    标签: html firefox character-encoding enctype


    【解决方案1】:
    【解决方案2】:

    问题不在于表单数据,而在于文件名字段 - 如果您需要utf-8 和文件数据,这根本不起作用,所以如果您需要在服务器上处理文件名,这很常见,您会一团糟向上。

    如果您在表单中设置enctype="multipart/form-data;charset=UTF-8",Tomcat 6 会将其转换为:内容类型:application/x-www-form-urlencoded,这就是问题所在。

    我花了很长时间才找到它,但它看起来一般都坏了,我已经用来自 Web 浏览器和 .Net 的 HTTP 请求对此进行了测试,效果相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多