作者tkyifang (tkyifang)
看板Programming
标题[问题] PCMan的unicode补完问题
时间Thu Jul 16 09:07:16 2009
[不知道该不该在这里问]
PCMan有所谓 unicode 补完
以结果来看,在 PCMan 上输入到 ptt, 似乎也只有用 PCMan 浏览 ptt 才会正常
例如看网页版
http://webptt.com/cn.aspx?n= 就会有缺字的现象。
当然 PCMan 是大宗,也很好用,我也乐於 PCMan 一统 bbs client 江湖
还 open source 哩
但若是其他 client 呢?我特地找一篇有 "松坂" 字眼的文章,寄回我的信箱。
看信件原始ascii 可以看到如图
http://www.wretch.cc/album/show.php?i=ilovetback&b=1&f=1641215100&p=0
图上 『坂』字是 95 B5 (2 bytes),不知道这个规则是如何设定,如何转换。
我是希望能从原始档中(如寄回到信箱的文章) ,
把她转成可见的字,或许是放在网页上之类的。
是否有方法能去处理这样的转换?
有查到一篇相关讨论
http://webptt.com/cn.aspx?n=man/C_Chat/D61/M.1241544252.A.AE8.html
想请各位大师指教。谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.69.204
1F:推 buganini:转成utf-8 ? 220.135.231.23 07/16 15:42
2F:→ buganini:另外 firefox的big5应该是可以吃UAO的 220.135.231.23 07/16 15:43
3F:推 buganini:bsdconv可以转 不过没有windows port 220.135.231.23 07/16 15:48
5F:→ adrianshum:不可能是UTF-8. BBS 用的是 Big5 乱塞 202.155.236.82 07/16 15:52
6F:→ adrianshum:一个 UTF-8, 必定会内码冲突. 这大概 202.155.236.82 07/16 15:53
7F:→ adrianshum:只是基於某种 Big5 extension 做的对映 202.155.236.82 07/16 15:53
8F:→ adrianshum:吧 (HKSCS, 中国海之类) 202.155.236.82 07/16 15:53
9F:推 buganini:看不懂楼上的意思 220.135.231.23 07/16 15:56
10F:→ buganini:转成UTF-8 那些字在UTF-8都可以既合法 220.135.231.23 07/16 15:57
11F:→ buganini:又标准的存在 哪里会冲突? 220.135.231.23 07/16 15:57
12F:→ buganini:UAO是在Big5的造字区塞进一些外国文字 220.135.231.23 07/16 15:58
13F:→ buganini:但是这些字也还是在unicode的范围内 220.135.231.23 07/16 15:58
14F:→ buganini:转成UTF-8不会冲突啊 220.135.231.23 07/16 15:58
15F:推 godfat:问个问题,有 iconv 支援 UAO 的吗? 220.128.121.85 07/16 16:06
16F:推 buganini:bsdconv就是类似iconv的东西:) 220.135.231.23 07/16 16:07
17F:→ buganini:不过用法不完全一样 220.135.231.23 07/16 16:07
18F:→ buganini:或着可以说.. 完全不一样:\ 220.135.231.23 07/16 16:08
19F:→ adrianshum:问题在於, 和BBS 中间的沟通是 Big5 202.155.236.82 07/16 16:09
20F:→ adrianshum:比如一篇文章, 里面全是 Big5, 然後输 202.155.236.82 07/16 16:10
21F:→ adrianshum:入 土反 字的时候, 又把它当 UTF-8 传 202.155.236.82 07/16 16:10
22F:推 buganini:要"转换"而不是直接当UTF-8传啊 220.135.231.23 07/16 16:11
23F:→ adrianshum:出去, BBS 一方必定错乱 202.155.236.82 07/16 16:11
24F:→ adrianshum:那就不是转为 UTF-8 了啦... orz 202.155.236.82 07/16 16:11
25F:→ adrianshum:client 端, 你管 PCMan 用的是 UTF8 202.155.236.82 07/16 16:12
26F:→ adrianshum:还是 UTF-16 甚至 UTF-32, 它做的是把 202.155.236.82 07/16 16:12
27F:推 buganini:原po说得是 转寄出来之後 当然可以转 220.135.231.23 07/16 16:13
28F:→ adrianshum:某 unicode CJK 而不存在於正常 Big5 202.155.236.82 07/16 16:13
29F:→ adrianshum:的字, 转为某 Big5 造字标准中的字元 202.155.236.82 07/16 16:14
30F:→ buganini:BBS不是我们可以去更改的地方 但出来就可 220.135.231.23 07/16 16:14
31F:→ adrianshum:当中和 UTF-8 可以一点关系都没有 202.155.236.82 07/16 16:14
32F:→ buganini:对啊 可是原po要的是 他可以用一个标准 220.135.231.23 07/16 16:15
33F:→ buganini:的方式放在网页上 这样当然UTF-8是首选 220.135.231.23 07/16 16:15
34F:→ buganini:把95B5转成E59D82 没有装UAO的地方 220.135.231.23 07/16 16:16
35F:→ buganini:也都可以用UTF-8看到 220.135.231.23 07/16 16:16
36F:→ buganini:别人程式的internal encoding跟我一点 220.135.231.23 07/16 16:17
37F:→ buganini:关系都没有 我收到的资料就是Big5-UAO 220.135.231.23 07/16 16:18
38F:→ buganini:要转成标准的最佳方案就是转成UTF-8 220.135.231.23 07/16 16:18
39F:→ buganini:你可以把"BBS"的internal encoding当作 220.135.231.23 07/16 16:19
40F:→ buganini:Big5-UAO 这internal的东西我们当然无从 220.135.231.23 07/16 16:19
41F:→ buganini:变更 220.135.231.23 07/16 16:19
42F:推 godfat:求iconv是为了整合易,anyway感谢,择日试试 220.128.121.85 07/16 16:20
44F:→ buganini:bsdconv相关的 220.135.231.23 07/16 16:21
45F:→ adrianshum:哈, 我发觉原来我回的是另外一样的东西 202.155.236.82 07/16 16:37
46F:→ adrianshum:难怪越说越糊涂, 拍谢 XD 202.155.236.82 07/16 16:38
47F:推 buganini::P 220.135.231.23 07/16 16:38
48F:推 buganini:对原po来说 简单的方法可能是 220.135.231.23 07/16 16:40
49F:→ buganini:用Firefox去web版复制.. 220.135.231.23 07/16 16:41
2小时没看,突然间有这麽多回应,谢谢大家喔
我的问题大概可以简化成
=> 当程式读档,读到 "95 B5",如何知道他是 "坂" 字
谢谢 我会研究一下 bsdconv。 iconv 则应该是不可能吧。
UAO我只粗浅的知道,但确切原理不清楚,例如简体这麽多字,真的可以塞在原BIG5中..
就很难想像
UAO资料几乎都是可执行的程式而有架构的技术文件不多,
http://uao.cpatch.org/index.php
看了一早上还没看到有什麽实作的介绍
当然,这问题只是兴趣啦,我想把我觉得有趣的文章存在自己的地方
※ 编辑: tkyifang 来自: 220.133.120.242 (07/16 18:41)
50F:推 buganini:刚刚原本想做个mail service 220.135.231.23 07/16 18:44
51F:→ buganini:你寄来我转成UTF-8在寄回去 220.135.231.23 07/16 18:44
52F:→ buganini:不过怕被用来送spam就算了..:/ 220.135.231.23 07/16 18:45
不用啦 谢谢 我也是弄成MS 把喜欢的文章寄回
再用个 .forward 处理存到资料库 用网页浏览
如果能给我你转换的范例就很好了 ^_^
※ 编辑: tkyifang 来自: 220.133.120.242 (07/16 18:50)
53F:推 buganini:iconv也不是不可能 自己找table转一下 220.135.231.23 07/16 18:49
54F:→ buganini:塞进去应该也是可以用 220.135.231.23 07/16 18:49
56F:→ buganini:bsdconv的big5是用Mozilla 1.8的表 220.135.231.23 07/16 18:51
58F:→ buganini:目前有C PHP Perl三个语言可以用 220.135.231.23 07/16 18:52
59F:→ buganini:你的用途应该big5,ascii::utf-8这样就好 220.135.231.23 07/16 18:53
60F:→ buganini:如果就资料已经都是Big5 220.135.231.23 07/16 18:53
61F:→ tkyifang:OK感谢.我的.forward刚好也适用php scrip220.133.120.242 07/16 18:53
62F:→ buganini:可用big5,ascii::cp950,ascii,htmlentity 220.135.231.23 07/16 18:54
63F:推 buganini:放心转没关系 日後要转UTF-8 220.135.231.23 07/16 18:56
64F:→ buganini:bsdconv也可以把htmlentity转回来 220.135.231.23 07/16 18:56
65F:→ tkyifang:我bf上班不能看ptt,想把好文章存起来放220.133.120.242 07/16 18:56
66F:→ tkyifang:放在私人的讨论区中,让他用网页看 ^^220.133.120.242 07/16 18:56
67F:→ tkyifang:只是个构想..没UAO,现在已经做好了....220.133.120.242 07/16 18:57
原来用firefox浏览倒是可以~~~我了解了
刚用firefox看
http://webptt.com/cn.aspx?n=bbs/Baseball/M.1247389274.A.5E2.html
缺字就有出来~~~
那这样我也不用转换啦~~~ 放网页上用 firefox 浏览就可以罗~~~ 谢谢大家
※ 编辑: tkyifang 来自: 220.133.120.242 (07/16 19:02)
68F:→ tkyifang:当然有空的时候上面提到的都会去研究一下220.133.120.242 07/16 19:03
69F:→ tkyifang:感谢220.133.120.242 07/16 19:03