为什么 bugzilla 中我的 UTF-8 文件名下载为带引号的可打印文件名?

发布于 2024-10-07 13:30:40 字数 533 浏览 6 评论 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 工作正常并按预期返回原始文件名。

有什么办法可以解决这个问题吗?

I have a bugzilla install set up with English and Japanese templates to support our users in the US and Japan. My users are having a problem with attachments that have Japanese characters in the filename; English filenames are OK.

Say I upload a file called "Blah操作手.doc". When I go to download the file, I get a prompt asking me to save it as "=_UTF-8_Q_Blah=E6=93=8D=E4=BD=9C=E6=89=8B_=.doc". All of the data in the file is preserved, but the filename appears to not be decoded properly. Often, the filename ends up so long that it loses the original extension, and the user gets a page filled with garbage if they try to open the attachment in their browser. This is happening even though the database "filename" field displays the original characters correctly.

This is happening with all types of files that contain non-ASCII characters - doc, xls, pdf, png, txt, etc. I was able to reproduce this on the default templates for Bugzilla 3.6.3, regardless of regional settings or template language.

This is primarily a problem for Internet Explorer. Chrome and Safari have similar problems, but I don't really have any users that use either. Firefox works fine and returns the original filename as expected.

Is there a way I can fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深爱不及久伴 2024-10-14 13:30:40

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

There's a very long answer to this question that somebody else may give you, but the basic problem is that there is no reasonable method of encoding UTF-8 filenames that all browsers support. I suspect that you're using IE, and it doesn't support the standard encoding method that we're using. More or less, this is something that can be worked around in Bugzilla, but we haven't done it yet. There's a bug filed for it at bugzilla.mozilla.org, but I'm not finding it at the moment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文