问题标签 [rfc2231]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8468 浏览

php - PHP:RFC-2231 如何将 UTF-8 字符串编码为 Content-Disposition 文件名

场景:(在 PHP 中)我有一个带有UTF-8编码字符串 ( $name) 的表单提交,以支持国际字符。提交表单(通过 GET)后,我正在创建一个 CSV 下载文件。我希望文件名是那个字符串+ .csv ( "$name.csv")。对于西方字符集,我可以通过以下方式做到这一点:

但对于其他字符集,下载文件的名称是垃圾字母+ .csv(如×œ×œ× ×›×•×ª×¨×ª.csv)。我正在尝试按照 RFC 2231 执行以下操作:

但我似乎有几个问题:

  1. 浏览器似乎忽略了标题的“文件名”部分。我的格式对吗?
  2. 我需要对$name以十六进制编码的八位字节的每个字符进行编码,例如“ This%20is%20%2A%2A%2Afun%2A%2A%2A”。有没有人有正确执行此操作的功能?我编写了以下代码,但我认为它不正确:

    /li>

有没有人有这方面的经验,可以让我走上正确的道路?

0 投票
1 回答
1906 浏览

php - 如何根据 RFC 2231 在 PHP 中对文件名进行编码?

如何根据MIME Parameter Value 和 Encoded Word Extensions: Character Sets, Languages, and Continuations (RFC 2231)的编码对文件名的值进行编码?

0 投票
2 回答
634 浏览

php - 如何使用 PHP 解码使用 RFC2231 编码的字符串

我正在解析带有附件的 MIME 格式的电子邮件。附件的文件名使用 RFC2231 编码,因此例如其中一个附件的“内容处置”是:

我该如何解码该文件名?

0 投票
1 回答
2067 浏览

java - 如何根据 RFC 2231 对文件名进行编码?

我需要在 Content-Disposition HTTP 标头属性中对文件附件进行编码。我注意到 RFC 2231 是最新的被广泛接受的标准,并希望使用它。但是,我很难在核心 Java SE 和 Java EE 库中找到它的实现。你们有什么建议吗?

在 Google 上进行的简短搜索得到了这个结果,但我不确定它的可信度如何。我正在跳跃 javax.mail.internet.MimeUtility 支持 RFC 2231 编码方法,但它似乎没有(尽管它确实在解码中提到了 RFC 2231)。

欢迎任何意见。我确信这是 Java Web 开发的常见问题。

谢谢。

0 投票
2 回答
6694 浏览

python - 使用 python 电子邮件通过电子邮件发送具有非 ascii 文件名的附件

如何发送带有附件的电子邮件,其中文件名包含 unicode 字符?

到目前为止,文件将到达,但文件名为 "noname"

这是对 ASCII 文件名非常有效的部分:

第一次尝试

添加编码、语言和编码字符串的元组,而不仅仅是文件名。

第二次尝试:

像这样全局设置字符集:

第三次尝试

使用utils.encode_rfc2231

第四次尝试

用于对文件名进行urlencode urllib.quote()。这对文件名的影响与第三种方法相同。

有任何想法吗?

我是否遗漏了有关 RFC2231 文件名字符编码的一些重要内容?

我使用 Gmail 的 SMTP 服务器和 python 2.7。

0 投票
1 回答
1049 浏览

email - 如何对 MIME 消息中 Content-Disposition 标头的文件名参数值进行编码?

通过检查一些电子邮件的来源,我发现许多电子邮件使用“编码字”(RFC 2047)格式对文件名参数值进行编码。但是,根据 RFC 2047,此编码方法不应用于标头参数值。相反,参数值,例如 Content-Disposition 标头中的文件名参数,应使用RFC 2231建议的编码方法。

因此,我的问题是为什么这么多电子邮件不符合 RFC 标准。使用 RFC 2047 格式对标头参数值进行编码是否正确?所有的电子邮件代理都能正确解析这些电子邮件吗?