0

我有一个设置了英语和日语模板的 bugzilla 安装程序,以支持我们在美国和日本的用户。我的用户对文件名中包含日文字符的附件有疑问;英文文件名没问题。

假设我上传了一个名为“Blah 操作手.doc”的文件。当我去下载文件时,我收到一个提示,要求我将其保存为“=_UTF-8_Q_Blah=E6=93=8D=E4=BD=9C=E6=89=8B_=.doc”。文件中的所有数据都被保留,但文件名似乎没有被正确解码。通常,文件名最终会丢失原始扩展名,如果用户尝试在浏览器中打开附件,则会得到一个充满垃圾的页面。即使数据库“文件名”字段正确显示原始字符,也会发生这种情况。

包含非 ASCII 字符的所有类型的文件都会发生这种情况 - doc、xls、pdf、png、txt 等。我能够在 Bugzilla 3.6.3 的默认模板上重现这一点,无论区域设置或模板语言如何.

这主要是 Internet Explorer 的问题。Chrome 和 Safari 也有类似的问题,但我真的没有任何用户使用它们。Firefox 工作正常并按预期返回原始文件名。

有没有办法解决这个问题?

4

1 回答 1

0

这个问题的答案很长,其他人可能会给你,但基本问题是没有合理的方法来编码所有浏览器都支持的 UTF-8 文件名。我怀疑您使用的是 IE,它不支持我们使用的标准编码方法。或多或少,这可以在 Bugzilla 中解决,但我们还没有做到。在 bugzilla.mozilla.org 上提交了一个错误,但我目前没有找到它。

于 2010-12-14T20:11:12.160 回答