作者LPH66 (-858993460)
看板Windows
标题Re: [问题] win7 64位元使用kkman上ptt无法显示日文
时间Sun Dec 19 12:25:13 2010
※ 引述《LPH66 (-858993460)》之铭言:
: 推 abccbaandy :日文不正常不是因为WinRAR对unicode的支援不完整吗XD 12/17 20:08
回一下这条推文
其实 rar 格式里已经内建对 unicode 的支援了 (注一)
问题在於 有些版本的 WinRAR (注二)
由於是在系统 ANSI 字集无法表示档名时 (注三)
才会启动这套机制
因此在没有装 UAO 的中文系统上 日文是无法用系统 ANSI 字集表示的
所以产生出来的 rar 档就会有那些日文的 unicode 资料
但在有 UAO 的中文系统上 日文可以用系统 ANSI 字集表示
所以产生出来的 rar 档就没有 unicode 资料
因此这种档案拿到没有 UAO 的中文系统上时就会解压缩出错
而对於日文系统 因为他们的 ANSI 字集就是日文
所以他们那时产生出来的 rar 档案一定没有 unicode 资料
所以才会出现上篇说的解压缩乱码
(注一) 技术上来说同样的方法其实是可以套用在其他的压缩格式上的
因为它并没有增加 rar 档案格式的栏位 而是一起纪录在「档名」这一栏里
(用了一个有点巧妙的方法 所以不会混在一起)
但可能是因为 WinRAR 是封闭格式的关系
并没有得到其他压缩格式的广泛支援...
我自己则是在某次研究为什麽有些 rar 档案不会有解压缩乱码时发现的
(注二) 哪些版本没有深入研究不知道
但我自己在用的 3.70 已经是只要有非 ASCII 字元就会加入了
(刚刚测试过 中文也会有)
所以新版的 WinRAR 只要做出来的是 rar 压缩档就没问题
(注三) 档名为何能使用 ANSI 字集没有的字
那是因为现在的磁碟格式 NTFS 内部是以 unicode 记录档名的
也就是即使在中文系统里你依然能够建立一个名字为韩文或印度文的资料夹
相对的 FAT 格式就不是了
只有微软为了支援 FAT 中的长档名加的 LFN 纪录才有支援
--
'You've sort of made up for it tonight,' said Harry. 'Getting the
sword. Finishing the Horcrux. Saving my life.'
'That makes me sound a lot cooler then I was,' Ron mumbled.
'Stuff like that always sounds cooler then it really was,' said
Harry. 'I've been trying to tell you that for years.'
-- Harry Potter and the Deathly Hollows, P.308
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.230.62