BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #5636同步于 1 周前
BBSMan_Dev机器人发帖

水木附件的文件名

jjgod.
1 周前镜像同步8 回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH HTTP 应答中的 Content-Disposition 首部,是遵循 MIME 规范中的相关定义的, 一般我们会通过类似: Content-Disposition: inline;filename=foo.bar 的形式 给客户端提示文件名,但如果文件名包含 ASCII 以外的字符时应该怎么处理呢? 在 RFC 2183 (Communicating Presentation Information in Internet Messages) 中,关于 Content-Disposition 的 filename 域有如下叙述: Current [RFC 2045] grammar restricts parameter values (and hence Content-Disposition filenames) to US-ASCII. We recognize the great desirability of allowing arbitrary character sets in filenames, but it is beyond the scope of this document to define the necessary mechanisms. We expect that the basic [RFC 1521] `value' specification will someday be amended to allow use of non-US-ASCII characters, at which time the same mechanism should be used in the Content-Disposition filename parameter. Beyond the limitation to US-ASCII, the sending MUA may wish to bear in mind the limitations of common filesystems. Many have severe length and character set restrictions. Short alphanumeric filenames are least likely to require modification by the receiving system. 所以事实上 Content-Disposition 的 filename 域应当只包含 ASCII 字符, 目前水木附件中如果出现中文文件名,用的其实是 GBK 编码的字符,这对许多 默认以 UTF-8 处理的系统/浏览器造成了困扰,是否可能找到办法改善这一困难 呢?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
atppp.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH 这个问题很久以前研究过,结论是搞不定 IE 所以只能用现在这种方法。 现在情况肯定有变化了,你的建议是? 【 在 jjgod (jjgod) 的大作中提到: 】 : HTTP 应答中的 Content-Disposition 首部,是遵循 MIME 规范中的相关定义的, : 一般我们会通过类似: Content-Disposition: inline;filename=foo.bar 的形式 : 给客户端提示文件名,但如果文件名包含 ASCII 以外的字符时应该怎么处理呢? : ...................
jjgod.机器人#2 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 根据 User-Agent 判断用 GBK 还是 UTF-8? 【 在 atppp (Big Mouse) 的大作中提到: 】 : 这个问题很久以前研究过,结论是搞不定 IE 所以只能用现在这种方法。 : 现在情况肯定有变化了,你的建议是?
atppp.机器人#3 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 前端有 squid 之类的。。。 我记得当时搞这个的时候就是同时搞不定 ie firefox,然后右键点下载和 左键直接点开我记得还不一样,后来 Firefox 从 1.0 到 1.5 的时候又改了一下 什么东西,导致那个快成型的方案又要修改,最后就不了了之了。。 有空应该再拾起来看看。 【 在 jjgod (jjgod) 的大作中提到: 】 : 根据 User-Agent 判断用 GBK 还是 UTF-8?
yuhuan.机器人#4 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH IE7强推会不会有帮助? 【 在 atppp (Big Mouse) 的大作中提到: 】 : 前端有 squid 之类的。。。 : 我记得当时搞这个的时候就是同时搞不定 ie firefox,然后右键点下载和 : 左键直接点开我记得还不一样,后来 Firefox 从 1.0 到 1.5 的时候又改了一下 : ...................
atppp.机器人#5 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我说了阿,我的知识已经过时了,现在也许有很简单的方案了呢 只不过我不知道。 【 在 yuhuan (恰恰相反) 的大作中提到: 】 : IE7强推会不会有帮助?
jjgod.机器人#6 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 囧啊囧,我用的是 Safari,这玩意更麻烦,昨天好不容易想到 一个办法把错误解码的 NSString 给转回去,不过还是得服务器 端有提示 (“这是 GBK 数据”),不然客户端完全不知道应该按 照 GBK 来解码啊.. 【 在 atppp (Big Mouse) 的大作中提到: 】 : 前端有 squid 之类的。。。 : 我记得当时搞这个的时候就是同时搞不定 ie firefox,然后右键点下载和 : 左键直接点开我记得还不一样,后来 Firefox 从 1.0 到 1.5 的时候又改了一下 : ...................
atppp.机器人#7 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH 具体怎么提示的?如果转成 UTF-8 呢? 【 在 jjgod (jjgod) 的大作中提到: 】 : 囧啊囧,我用的是 Safari,这玩意更麻烦,昨天好不容易想到 : 一个办法把错误解码的 NSString 给转回去,不过还是得服务器 : 端有提示 (“这是 GBK 数据”),不然客户端完全不知道应该按 : ...................
jjgod.机器人#8 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 参见这里: http://blog.jjgod.org/2008/02/17/cocoa-nsstring-decoding-error/ 【 在 atppp (Big Mouse) 的大作中提到: 】 : 具体怎么提示的?如果转成 UTF-8 呢? 手头没有配置 web 服务器,所以还没测试过如果这个 filename 用 UTF-8 效果会 怎么样,现在我只能想到一些 client 段的修正方法...