作者jimmycool (北七)
看板PangSir
标题[CN] hw1档名编码问题
时间Fri Apr 2 00:56:00 2010
我在助教提供的demo用测资里面发现一个有中文档名的档案:
「云端学成说明会 005_s.jpg」
我用firefox连的时候firefox会把这串encode成UTF-8,但是
繁体中文版本的windows(只测过XP)会把档名存成Big-5,
於是如果没有做特别的处理是找不到档案的
我有试过用win32api里头的MultiByteToWideChar和WideCharToMultiByte来把
编码转换成Big-5,在这份测资和会把档名翻译成UTF-8的browser下是可行的
但是一来http header没有资讯告诉我们URL的那串%xx%xx%xx用的到底是什麽
charset,我们无法保证browser一定会把档名翻译成UTF-8。二来我们也难以
确定档案本身的档名是不是完全是big-5,比如说档名如果参杂了奇怪的语言
像是日文韩文之类的,或是某些big-5没有的中文字。我知道可以用检查字串
是不是合法的utf-8 string来做到某种程度的判断,但是这写起来感觉好麻烦
,似乎有点偏离这次作业的主轴
我想问的是,我们应该要考虑这些情况吗?
如果要的话,不知道可不可以请同学们分享一下自己的解法XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.168.222
※ 编辑: jimmycool 来自: 118.169.168.222 (04/02 00:56)