问题标签 [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.
php - PHP:RFC-2231 如何将 UTF-8 字符串编码为 Content-Disposition 文件名
场景:(在 PHP 中)我有一个带有UTF-8编码字符串 ( $name
) 的表单提交,以支持国际字符。提交表单(通过 GET)后,我正在创建一个 CSV 下载文件。我希望文件名是那个字符串+ .csv
( "$name.csv"
)。对于西方字符集,我可以通过以下方式做到这一点:
但对于其他字符集,下载文件的名称是垃圾字母+ .csv
(如×œ×œ× ×›×•×ª×¨×ª.csv
)。我正在尝试按照 RFC 2231 执行以下操作:
但我似乎有几个问题:
- 浏览器似乎忽略了标题的“文件名”部分。我的格式对吗?
我需要对
/li>$name
以十六进制编码的八位字节的每个字符进行编码,例如“This%20is%20%2A%2A%2Afun%2A%2A%2A
”。有没有人有正确执行此操作的功能?我编写了以下代码,但我认为它不正确:
有没有人有这方面的经验,可以让我走上正确的道路?
php - 如何使用 PHP 解码使用 RFC2231 编码的字符串
我正在解析带有附件的 MIME 格式的电子邮件。附件的文件名使用 RFC2231 编码,因此例如其中一个附件的“内容处置”是:
我该如何解码该文件名?
java - 如何根据 RFC 2231 对文件名进行编码?
我需要在 Content-Disposition HTTP 标头属性中对文件附件进行编码。我注意到 RFC 2231 是最新的被广泛接受的标准,并希望使用它。但是,我很难在核心 Java SE 和 Java EE 库中找到它的实现。你们有什么建议吗?
在 Google 上进行的简短搜索得到了这个结果,但我不确定它的可信度如何。我正在跳跃 javax.mail.internet.MimeUtility 支持 RFC 2231 编码方法,但它似乎没有(尽管它确实在解码中提到了 RFC 2231)。
欢迎任何意见。我确信这是 Java Web 开发的常见问题。
谢谢。
python - 使用 python 电子邮件通过电子邮件发送具有非 ascii 文件名的附件
如何发送带有附件的电子邮件,其中文件名包含 unicode 字符?
到目前为止,文件将到达,但文件名为 "noname"。
这是对 ASCII 文件名非常有效的部分:
第一次尝试
添加编码、语言和编码字符串的元组,而不仅仅是文件名。
第二次尝试:
像这样全局设置字符集:
第三次尝试
使用utils.encode_rfc2231
第四次尝试
用于对文件名进行urlencode urllib.quote()
。这对文件名的影响与第三种方法相同。
有任何想法吗?
我是否遗漏了有关 RFC2231 文件名字符编码的一些重要内容?
我使用 Gmail 的 SMTP 服务器和 python 2.7。