看板 Programming 關於我們 聯絡資訊
[不知道該不該在這裡問] PCMan有所謂 unicode 補完 以結果來看,在 PCMan 上輸入到 ptt, 似乎也只有用 PCMan 瀏覽 ptt 才會正常 例如看網頁版 http://www.ptt.cc 就會有缺字的現象。 當然 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://www.ptt.cc/man/C_Chat/D61/M.1241544252.A.AE8.html 想請各位大師指教。謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.69.204
buganini:轉成utf-8 ? 220.135.231.23 07/16 15:42
buganini:另外 firefox的big5應該是可以吃UAO的 220.135.231.23 07/16 15:43
buganini:bsdconv可以轉 不過沒有windows port 220.135.231.23 07/16 15:48
buganini:http://github.com/buganini/bsdconv/ 220.135.231.23 07/16 15:51
adrianshum:不可能是UTF-8. BBS 用的是 Big5 亂塞 202.155.236.82 07/16 15:52
adrianshum:一個 UTF-8, 必定會內碼衝突. 這大概 202.155.236.82 07/16 15:53
adrianshum:只是基於某種 Big5 extension 做的對映 202.155.236.82 07/16 15:53
adrianshum:吧 (HKSCS, 中國海之類) 202.155.236.82 07/16 15:53
buganini:看不懂樓上的意思 220.135.231.23 07/16 15:56
buganini:轉成UTF-8 那些字在UTF-8都可以既合法 220.135.231.23 07/16 15:57
buganini:又標準的存在 哪裡會衝突? 220.135.231.23 07/16 15:57
buganini:UAO是在Big5的造字區塞進一些外國文字 220.135.231.23 07/16 15:58
buganini:但是這些字也還是在unicode的範圍內 220.135.231.23 07/16 15:58
buganini:轉成UTF-8不會衝突啊 220.135.231.23 07/16 15:58
godfat:問個問題,有 iconv 支援 UAO 的嗎? 220.128.121.85 07/16 16:06
buganini:bsdconv就是類似iconv的東西:) 220.135.231.23 07/16 16:07
buganini:不過用法不完全一樣 220.135.231.23 07/16 16:07
buganini:或著可以說.. 完全不一樣:\ 220.135.231.23 07/16 16:08
adrianshum:問題在於, 和BBS 中間的溝通是 Big5 202.155.236.82 07/16 16:09
adrianshum:比如一篇文章, 裡面全是 Big5, 然後輸 202.155.236.82 07/16 16:10
adrianshum:入 土反 字的時候, 又把它當 UTF-8 傳 202.155.236.82 07/16 16:10
buganini:要"轉換"而不是直接當UTF-8傳啊 220.135.231.23 07/16 16:11
adrianshum:出去, BBS 一方必定錯亂 202.155.236.82 07/16 16:11
adrianshum:那就不是轉為 UTF-8 了啦... orz 202.155.236.82 07/16 16:11
adrianshum:client 端, 你管 PCMan 用的是 UTF8 202.155.236.82 07/16 16:12
adrianshum:還是 UTF-16 甚至 UTF-32, 它做的是把 202.155.236.82 07/16 16:12
buganini:原po說得是 轉寄出來之後 當然可以轉 220.135.231.23 07/16 16:13
adrianshum:某 unicode CJK 而不存在於正常 Big5 202.155.236.82 07/16 16:13
adrianshum:的字, 轉為某 Big5 造字標準中的字元 202.155.236.82 07/16 16:14
buganini:BBS不是我們可以去更改的地方 但出來就可 220.135.231.23 07/16 16:14
adrianshum:當中和 UTF-8 可以一點關係都沒有 202.155.236.82 07/16 16:14
buganini:對啊 可是原po要的是 他可以用一個標準 220.135.231.23 07/16 16:15
buganini:的方式放在網頁上 這樣當然UTF-8是首選 220.135.231.23 07/16 16:15
buganini:把95B5轉成E59D82 沒有裝UAO的地方 220.135.231.23 07/16 16:16
buganini:也都可以用UTF-8看到 220.135.231.23 07/16 16:16
buganini:別人程式的internal encoding跟我一點 220.135.231.23 07/16 16:17
buganini:關係都沒有 我收到的資料就是Big5-UAO 220.135.231.23 07/16 16:18
buganini:要轉成標準的最佳方案就是轉成UTF-8 220.135.231.23 07/16 16:18
buganini:你可以把"BBS"的internal encoding當作 220.135.231.23 07/16 16:19
buganini:Big5-UAO 這internal的東西我們當然無從 220.135.231.23 07/16 16:19
buganini:變更 220.135.231.23 07/16 16:19
godfat:求iconv是為了整合易,anyway感謝,擇日試試 220.128.121.85 07/16 16:20
buganini:PHP版有兩篇#1A5-q-fU #1AAAFAV1 220.135.231.23 07/16 16:21
buganini:bsdconv相關的 220.135.231.23 07/16 16:21
adrianshum:哈, 我發覺原來我回的是另外一樣的東西 202.155.236.82 07/16 16:37
adrianshum:難怪越說越糊塗, 拍謝 XD 202.155.236.82 07/16 16:38
buganini::P 220.135.231.23 07/16 16:38
buganini:對原po來說 簡單的方法可能是 220.135.231.23 07/16 16:40
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)
buganini:剛剛原本想做個mail service 220.135.231.23 07/16 18:44
buganini:你寄來我轉成UTF-8在寄回去 220.135.231.23 07/16 18:44
buganini:不過怕被用來送spam就算了..:/ 220.135.231.23 07/16 18:45
不用啦 謝謝 我也是弄成MS 把喜歡的文章寄回 再用個 .forward 處理存到資料庫 用網頁瀏覽 如果能給我你轉換的範例就很好了 ^_^ ※ 編輯: tkyifang 來自: 220.133.120.242 (07/16 18:50)
buganini:iconv也不是不可能 自己找table轉一下 220.135.231.23 07/16 18:49
buganini:塞進去應該也是可以用 220.135.231.23 07/16 18:49
buganini:http://moztw.org/docs/big5/ 220.135.231.23 07/16 18:50
buganini:bsdconv的big5是用Mozilla 1.8的表 220.135.231.23 07/16 18:51
buganini:轉換的範例看PHP版的#1A5-q-fU #1AAAFAV1 220.135.231.23 07/16 18:51
buganini:目前有C PHP Perl三個語言可以用 220.135.231.23 07/16 18:52
buganini:你的用途應該big5,ascii::utf-8這樣就好 220.135.231.23 07/16 18:53
buganini:如果就資料已經都是Big5 220.135.231.23 07/16 18:53
tkyifang:OK感謝.我的.forward剛好也適用php scrip220.133.120.242 07/16 18:53
buganini:可用big5,ascii::cp950,ascii,htmlentity 220.135.231.23 07/16 18:54
buganini:放心轉沒關係 日後要轉UTF-8 220.135.231.23 07/16 18:56
buganini:bsdconv也可以把htmlentity轉回來 220.135.231.23 07/16 18:56
tkyifang:我bf上班不能看ptt,想把好文章存起來放220.133.120.242 07/16 18:56
tkyifang:放在私人的討論區中,讓他用網頁看 ^^220.133.120.242 07/16 18:56
tkyifang:只是個構想..沒UAO,現在已經做好了....220.133.120.242 07/16 18:57
原來用firefox瀏覽倒是可以~~~我了解了 剛用firefox看 http://www.ptt.cc/bbs/Baseball/M.1247389274.A.5E2.html 缺字就有出來~~~ 那這樣我也不用轉換啦~~~ 放網頁上用 firefox 瀏覽就可以囉~~~ 謝謝大家 ※ 編輯: tkyifang 來自: 220.133.120.242 (07/16 19:02)
tkyifang:當然有空的時候上面提到的都會去研究一下220.133.120.242 07/16 19:03
tkyifang:感謝220.133.120.242 07/16 19:03