Re: 有關 PTT 是否能輸入韓文的問題

看板HANGUKMAL (韓語板)作者時間16年前 (2008/02/28 18:01), 編輯推噓24(24076)
留言100則, 9人參與, 最新討論串5/8 (看更多)
看來大家對這個能夠顯示韓文的 client 的需求倒是挺迫切的 雖然我現在能夠控制 PCMan X 讓它在某些情況下改用 EUC-KR 來顯示韓文 但目前仍屬實驗性的階段,也還不能直接用輸入法在 PCMan X 輸入韓文 那張截圖上的韓文,是我先用別的 client 打進去,PCMan X 目前只能顯示而已 關於輸入韓文的部分我現在正在研究中,已有了些許眉目 還有一個重要的問題,PCMan X 目前僅能在 Linux 和 FreeBSD 上面運作 由於我個人並不使用微軟 Windows 作業系統 因此在 Windows 平台上的 client 開發可能暫時不會這麼快動手 我預計會從 Windows 上的 Open PCMan 著手來改 不過 Open PCMan 和 PCMan X 是完全不同的東西 內部的程式碼和編碼處理架構截然不同,等於是要寫兩份程式 如果有人要參與的話,我想基本的能力可能還是需要熟悉 C++ 程式語言 因為 PCMan X 和 Open PCMan 都是用 C++ 撰寫的 至少要能夠看懂 C++ 的語法,才能了解它的處理方式並著手修改 關於我上一篇文章,為什麼能夠讓中文和韓文同時出現,我簡單說明一下 基本上我的作法很簡單,我先找出 PCMan X 的程式碼裡面 哪個部分是負責將 BIG-5 轉換成 UTF-8 讓系統可以顯示出中文來 而後我再加了幾行程式碼,讓 PCMan X 在繪製螢幕的某些地方的文字時 不是從 BIG-5 轉到 UTF-8,而是從韓文的 EUC-KR 編碼轉到 UTF-8 這樣,只要 EUC-KR 的字串出現在某些位置 PCMan X 就會把它們從 EUC-KR 轉成 UTF-8,從而顯示出正常的韓文出來 不過,光是只有在特定位置顯示出韓文還是不夠 主要還有幾件事情要做: 一、設計編碼切換的 control sequence 這是要通知 client 的終端機何時要切換到韓文,何時要回到中文的控制碼 我正在考慮的是,是不是要利用 ANSI 控制碼的方式來控制編碼的切換 也就是設計一個特殊的 ANSI 控制碼,當 client 讀到這個控制碼時 就會進行顯示編碼的切換 若要設計成具有通用性,則控制碼本身最好能帶有欲切換的編碼名稱 比如說名稱為 EUC-KR 就能切到韓文,名稱為 KOI-8 就能切到俄文等等 這個地方是未來使用上最重要的部分,可能要先有完善的規畫 二、編碼切換控制碼的處理函式 訂定了切換的控制碼,接下來就是要寫程式,修改 PCMan X 讓它能夠認得切換控制碼,並做顯示編碼的切換 三、輸入文字之編碼切換 上面的步驟僅實作讓終端機能夠顯示出韓文,但還不能輸入韓文 還需要再修改 PCMan X 接受使用者輸入內容時的編碼轉換的程式部分 這部分應該是最大的困難點之所在 終端機必須要能夠知道使用者現在是在輸入哪一種文字 可能的方法有幾個,一個是設計一個選單,讓使用者選擇要輸入何種文字 另一個方法就是自動偵測,不過相對地難度也高 現在我們在 PCMan、KKMan、PieTTY 等程式裡面不能輸入韓文的原因就在這裡 系統接收到韓文的輸入,但沒辦法把它轉成 BIG-5 的編碼 這部分可能要花不少時間來實作 有興趣的人,或是有任何建議,非常歡迎一起來討論 有能力開發 Windows 程式的人,請不吝參與修改 Open PCMan 的行列 因為我實在是不大會使用 Windows..... 希望在 BBS 能夠自由自在輸入各種語言文字的那天早一點到來啊! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.80.33

02/28 18:15, , 1F
我能幫上忙的就是轉文啦.轉了Pttsuggest和Pcman版
02/28 18:15, 1F

02/28 18:28, , 2F
我有個想法..其實客戶端只要能夠告知使用者現在是位於
02/28 18:28, 2F

02/28 18:29, , 3F
很好很強大.....真佩服阿~~~
02/28 18:29, 3F

02/28 18:29, , 4F
韓文區..中文輸入會變成亂碼請切換至韓文輸入法
02/28 18:29, 4F

02/28 18:30, , 5F
至於在中文區本來就不能輸入韓文..所以也還好...
02/28 18:30, 5F

02/28 18:31, , 6F
也就可以單純化..先讓使用者的大腦來切輸入法
02/28 18:31, 6F

02/28 18:32, , 7F
這樣第一個版本堪用會快的多...
02/28 18:32, 7F

02/28 18:38, , 8F
我還想到要是編輯器所見及所得,那代表標籤必須有兩種.
02/28 18:38, 8F

02/28 18:39, , 9F
一個是編輯用的a另一種是顯示用的b.越想越複雜...
02/28 18:39, 9F

02/28 18:44, , 10F
萬事起頭難.希望albyu能打造堪用品..windows應該有人會吧
02/28 18:44, 10F

02/28 19:12, , 11F
我直接找我學弟來會不會比較快...把他抓過來問當初到
02/28 19:12, 11F

02/28 19:13, , 12F
底是怎麼寫的...
02/28 19:13, 12F

02/28 19:27, , 13F
我直覺覺得顯示不會是問題,但是輸入法會是個問題...
02/28 19:27, 13F

02/28 19:28, , 14F
對嗎?
02/28 19:28, 14F

02/28 20:06, , 15F
對不起~ 我電腦很弱 Q_____________Q
02/28 20:06, 15F

02/28 20:06, , 16F
精神支持!!!!!!!!!!!!加油!!!!Fighting!!!
02/28 20:06, 16F

02/28 20:21, , 17F
我一定要成功go
02/28 20:21, 17F

02/28 20:25, , 18F
我也只能精神上支持 對程式語言不懂 呵
02/28 20:25, 18F

02/28 22:11, , 19F
請不要忘記 MAC 的使用者... AlienBBS 也順便一下 >"<
02/28 22:11, 19F

02/28 22:19, , 20F
Mac 我真的沒辦法,沒有 Mac 機器.....
02/28 22:19, 20F

02/28 22:20, , 21F
先完成linux的...mac現在也是unix like只要opensource
02/28 22:20, 21F

02/28 22:21, , 22F
就會有人去移植的啦..反倒是windows還比較難...
02/28 22:21, 22F

02/28 22:24, , 23F
輸入法應該是可解決的pietty也可以用內建輸入法輸入啊
02/28 22:24, 23F

02/28 22:26, , 24F
視窗上的複製貼上判斷才困難吧.中韓從視窗上要貼到bbs
02/28 22:26, 24F

02/28 22:28, , 25F
Windows 會自己做 Unicode 到程式所使用的 locale 編碼轉換
02/28 22:28, 25F

02/28 22:28, , 26F
就不太可能了..沒有標籤可供程式作判斷..
02/28 22:28, 26F

02/28 22:29, , 27F
因此,你只要確定你的程式使用的編碼有包含韓文就可以了
02/28 22:29, 27F

02/28 22:30, , 28F
如果你用 PieTTY,但編碼設成 BIG-5 是沒辦法輸入韓文的
02/28 22:30, 28F

02/28 22:31, , 29F
複製貼上的部分還是有一樣的問題,不是要使用者自己決定編碼
02/28 22:31, 29F

02/28 22:32, , 30F
就是要寫 encoding detection 的程式來辨斷 orz
02/28 22:32, 30F

02/28 22:35, , 31F
作編碼偵測聽就覺得是大工程了,,.我覺得先讓使用者決定
02/28 22:35, 31F

02/28 22:37, , 32F
但是儘量設定成單鍵決定應該就堪用了..先求能用最重要...
02/28 22:37, 32F

02/28 22:39, , 33F
可以做到按某鍵就切換編碼同時幫你呼叫對應的輸入法嗎?
02/28 22:39, 33F

02/28 22:46, , 34F
說實在的我也不太懂...想能夠用就很高興了..
02/28 22:46, 34F

02/28 22:47, , 35F
技術細節就交給albyu了..
02/28 22:47, 35F

02/28 22:53, , 36F
加轉programming那應該高手如雲..
02/28 22:53, 36F

02/28 23:03, , 37F
加轉C_and_CPP同上
02/28 23:03, 37F

02/28 23:43, , 38F
好消息!我已經把 PCMan X 改出來了,現在已經可以輸入
02/28 23:43, 38F

02/28 23:43, , 39F
EUC-KR 的韓文了.....
02/28 23:43, 39F
還有 21 則推文
02/29 17:58, , 61F
原因在於,UTF-8/16等編碼的高位元組定義和Big-5有衝突
02/29 17:58, 61F

02/29 17:59, , 62F
如果直接寫入Big-5的串流,會產生錯誤
02/29 17:59, 62F

02/29 19:39, , 63F
加轉Pttcurrent..ptt程式討論區
02/29 19:39, 63F

02/29 20:20, , 64F
要不要直接找英吐
02/29 20:20, 64F

02/29 20:49, , 65F
多國語言的問題,已經20-30年了,目前最廣為接收的方案就
02/29 20:49, 65F

02/29 20:52, , 66F
是unicode/utf8,為了一時的方便,走iso2022的回頭路,只是
02/29 20:52, 66F

02/29 20:53, , 67F
造成未來有更多的歷史包伏,我建議可以先把bbs的資料轉成
02/29 20:53, 67F

02/29 20:55, , 68F
unicode,再改client,mozilla的自動判別charset的準確度
02/29 20:55, 68F

02/29 20:56, , 69F
還不錯,可以整合進pcman,自動判別非unicode的bbs
02/29 20:56, 69F

02/29 20:58, , 70F
以現在ptt一站獨大的局面,只要ptt改完了,大概就差不多了
02/29 20:58, 70F

02/29 21:34, , 71F
請問樓上ptt改上面的東西對於目前維護ptt的人員來說是
02/29 21:34, 71F

02/29 21:37, , 72F
像開腦手術的大工程還是像除斑雷射的小工程哪一種等級?
02/29 21:37, 72F

02/29 21:42, , 73F
另外一個問題是要去哪裡看ptt對於多語言處理支援的規劃
02/29 21:42, 73F

02/29 21:44, , 74F
我目前僅知pttsugguest有打m的沒有看到類似的...
02/29 21:44, 74F

02/29 22:48, , 75F
我對ptt的站務和目前的程式不太清楚,不過charset的問題,
02/29 22:48, 75F

02/29 22:51, , 76F
只在file和socket的input和output相關的地方小改就可以
02/29 22:51, 76F

02/29 22:53, , 77F
支援utf8,理論上程式的問題應該不大才對,我想主要應該是
02/29 22:53, 77F

02/29 22:56, , 78F
看站方的意願.
02/29 22:56, 78F

02/29 23:03, , 79F
喔...如果程式問題不大..是這樣那會放20-30年還是原樣...
02/29 23:03, 79F

02/29 23:04, , 80F
直覺來想不太合邏輯.寫程式利害又聰明人那麼多...
02/29 23:04, 80F

02/29 23:06, , 81F
還是這個問題不屬於技術層次的問題?
02/29 23:06, 81F

02/29 23:10, , 82F
技術上應該是不難,不過要 PTT 所有儲存的資料全部轉換成
02/29 23:10, 82F

02/29 23:11, , 83F
UTF-8 可能是站方意願不高的原因吧
02/29 23:11, 83F

02/29 23:11, , 84F
而且現在很多終端機,例如 PCMan X 本來就支援 UTF-8 不用改
02/29 23:11, 84F

02/29 23:14, , 85F
我們不用理想方案啦...堪用的就好啦...靠ptt站方改可能
02/29 23:14, 85F

02/29 23:15, , 86F
不知道實現之日為何..包袱也是可以接受啦
02/29 23:15, 86F

02/29 23:21, , 87F
現在我都搞不清楚了...到底ptt修改程式是必要的還是選項
02/29 23:21, 87F

02/29 23:22, , 88F
的一種比較理想的方案?
02/29 23:22, 88F

02/29 23:23, , 89F
如果只是選項..我建議先改改客戶端來用用...
02/29 23:23, 89F

02/29 23:25, , 90F
畢竟我想站方人員對於這個問題急迫度看法可能與使用者的
02/29 23:25, 90F

02/29 23:26, , 91F
的角度不同.很難去準確的預測.
02/29 23:26, 91F

02/29 23:27, , 92F
還是版主你再去問問看...看看ptt程式維護人員的反應?
02/29 23:27, 92F

02/29 23:28, , 93F
樓上,你現在的想法,就是十年來bbs一直沒改成utf8的原因.
02/29 23:28, 93F

02/29 23:32, , 94F
是喔...不好意思啦...我是外行人...
02/29 23:32, 94F

02/29 23:33, , 95F
那要怎麼作..能在最快的時間內能夠完成?專家的意見是?
02/29 23:33, 95F

03/01 08:29, , 96F
我現在有名的程度可能只有組長會理我,至於站長...我
03/01 08:29, 96F

03/01 08:29, , 97F
還沒有貢獻到站長會理我吧!只是寫ptt的是我學弟,我
03/01 08:29, 97F

03/01 08:30, , 98F
可以靠這層關係去問。我覺得應該找一個日子直接找個機
03/01 08:30, 98F

03/01 08:31, , 99F
器(電腦)實作,光靠文字,我已經跟不上了...
03/01 08:31, 99F

03/01 08:32, , 100F
說錯!是pcman
03/01 08:32, 100F
文章代碼(AID): #17neQG29 (HANGUKMAL)
討論串 (同標題文章)
文章代碼(AID): #17neQG29 (HANGUKMAL)