請問一下big5 轉碼上bbs - Linux

Carol avatar
By Carol
at 2013-05-02T11:47

Table of Contents

如果您只是拿來上 PTT 的話,其實不用那麼麻煩說。

以下方案,可以解決像是:顯示輸入 Unicode 文字、修正符號字寬不正確問題、
一字雙色亂碼、telnet 不夠安全、以及能搭配 screen 使用、
不用再依賴 zh_TW locale 等等問題。

首先,為了解決煩人的字寬問題,
請先選用一個支援 East Asian ambiguous width 的 X Terminal Emulator;
比如說:(大部份要加參數或是設定環境變數)

xterm -cjk
mlterm --ac=2
VTE_CJK_WIDTH=1 gnome-terminal(或其它 vte terminal,像 LilyTerm 或 evilvte)

(urxvt 及 konsole 好像有支援,可能要查一下)

然後,請在 UTF-8 環境下,使用以下指令上 PTT:
(現在大部份的 Linux Dist 都預設是 UTF-8 環境了)
(對了,請記得安裝 ssh 套件)

ssh [email protected]

即可。(因為潛在的安全因素,不建議用 telnet)

建議搭配標點符號有支援 East Asian ambiguous width 的字型,如『文鼎 PL 中楷』,
以取得最佳顯示效果。

另外,PTT 的 UTF-8 模式針對一字雙色的字有做處理,
不過只能做到一字單色,但至少不會生出亂碼出來。

當然了,這個方案最重要的亮點就是:可以搭配 screen 使用喔!

另外,敝人不確定這個方案能夠解決多少 Unicode 問題,
但 PTT 的 Unicode 模式似乎有加上 Unicode 補完計劃裡的字集,
所以這方面用起來應該和 pcamnx 差不多吧?

※ 引述《nfsong (圖書館我來了)》之銘言:
: 不好意思 我想請問一下一個上bbs的問題
: 我安裝了ubuntu 10.04 是用英文的安裝
: 因為我想看bbs 所以嘗試把他改成中文big5
: 我現在是把locale 改成zh_TW.utf8
: 我在網路上查到一個方法是用screen 轉碼
: 在screen下用ctrl+a
: :encoding big5 utf8
: 但是都顯示不出來 我的連線軟體用的是tintin++
: tt++有設定#config charset big5
: 我想請問一下哪裡可能有問題呢??

忘了註明,這個方法必須處於 UTF-8 環境下才行。
但優點是,所需的只是 screen、ssh、xterm/gnome-terminal 等等基本工具即可。
另一個優點是,可以不用再留著 zh_TW 環境,終於可以向 zh_TW 說再見了!

nfsong:感謝 請問是要在en_US.utf8下嗎? 05/02 11:54
nfsong:抱歉 系統是server版的 沒有xwindows 這個好像是x-windows 05/02 11:59
nfsong:client 05/02 11:59
nfsong:不好意思 我忘了提出沒有xwindows的問題 謝謝你提供的方法 05/02 12:01
dearlove:ptt的話登入的時候賬號後面加個 , 就會進入utr8模式了 05/02 12:43

若在 console 下,可以試試 jfbterm + luit!
但不支援 East Asian ambiguous width,字寬會亂七八糟;
也不支援 UAO,有些非 Big5 文字會看不到。

另,luit 是 x11-utils 附的小程式,但可以在 console 下執行。

也可以試試 zhcon 之類的,但我沒試過... Sorry

buganini:ssh bbsu有pad字寬 05/02 17:55
buganini:bug5也可以在console下執行,也可以pad字寬,也可以處理 05/02 17:56
buganini:雙色字,不限於ptt 05/02 17:56

bug5 的話,請問是用空白墊嗎?(screen 好像是用空白墊)
另外,處理雙色字是指有做到一字雙色嗎?

buganini:是用nbsp墊,複製貼上時會自動去掉(貼到別處當然得自己 05/02 20:07

敝人貼的這個方法則是靠 Terminal Emulator 去原生支援 East Asian ambiguous,
不用墊,當然也不用去掉,貼去別的地方也不用煩惱。

buganini:去掉囉) 沒有一字雙色,這要terminal有特異功能才辦得到 05/02 20:08

嗯,其實敝人也寫了一個小小的即時轉碼 Pseudo Terminal,功能很類似 bug5,
但也是卡在沒辨法實作一字雙色。
後來發現 ssh + PTT Unicode 版好用之後,就停止開發了... orz

buganini:對了,bug5還內建UAO支援,這是luit和screen都沒有的 05/02 20:09

但若用 PTT Unicode 版的話,PTT 也有支援 UAO 喔!
且已經事先把轉成了正確的 Unicode 了。

buganini:雙色字的修正也是luit/screen沒有的 05/02 20:09

PTT 的 Unicode 版對此也是有修正的。但也是一樣,沒辨法一字雙色。

buganini:複製貼上去除padding是ssh bbsu沒有的功能 05/02 20:12

若用 PTT 的 Unicode 版的話,就不用去 padding 囉,因為本來就沒加 padding。XD

BTW, 您寫的 bsdconv/bug5 其實敝人之前有試用過,但卡在以下錯誤訊息:

Failed creating bsdconv instance, you may need to update bsdconv.

後來就放棄使用了。

buganini:ptt有pad喔,去russian找一篇有俄文按回覆然後複製貼上 05/02 23:15
buganini:就看得出來了 05/02 23:15

這是維基百科上的俄文字母表:

абвгдеёжзийклмнопрстуфхцчшщъыьэюя
абвгдеёжзийклмнопрстуфхцчшщъыьэюя

至少敝人系統上是 OK 的。

buganini:有些環境無法讓terminal切成寬字元模式,就還是需要啊 05/02 23:16

這的確是。
且也要視 X Terminal Emulator 對於 East Asian ambiguous width 是否有良好支援。
不過,至少 GNOME2/3、Xfce、LXDE 預設的 X Terminal Emulator (都是 vte based),
支援度都算不錯。xterm 我試過也不糟;其它的就可能要自行試試看了。

buganini:bsdconv/bug5對不起來是因為兩邊版本不一致 05/02 23:17

我那時編譯都是拿最新版的... 這的確很怪。
那時本來想包 deb,順便拿出來分享的,但因為連自己的系統上都跑不起來,
就沒放出來了。

buganini:也許是ptt會自動偵測要不要開padding 這我沒注意過 05/02 23:18
buganini:因為我是習慣用非寬字元的環境,所以測出來是有padding的 05/02 23:19

對,PTT 的 Unicode 版是我唯一一個得開 VTE_CJK_WIDTH=1 的應用程式。
我試過,如果是以 VTE_CJK_WIDTH=0 跑的話,的確是有 padding;
但若用 VTE_CJK_WIDTH=1 的話,跑起來結果就讓人十分驚豔了。真的值得一試!

只是... 大概僅限 PTT 使用吧? XD

buganini:剛查了一下,fbterm有ambiguous-wide可以設定 05/02 23:32
buganini:jfbterm有--ambiguous={unchanged,single,double} 05/02 23:33
buganini:加上你貼的VTE解法,應該大多數時候都可以有真的寬字元 05/02 23:33
buganini:可以用了:D 05/02 23:33

感謝告知!另,請教一下,在 console 下輸入中文有解嗎?謝謝!

另外,PTT 的 Unicode 版是最近才改的嗎?我記得以前開版面都亂七八糟說...
※ 編輯: Tetralet 來自: 114.32.201.46 (05/02 23:58)
buganini:https://github.com/buganini/termim <= 半成品 05/03 00:04
buganini:還有底下提到的ucimf也可以試試 05/03 00:04
buganini:termim之前是在FreeBSD底下開發的,linux編不起來XDD 05/03 00:22

Tags: Linux

All Comments

Caitlin avatar
By Caitlin
at 2013-05-05T11:31
感謝 請問是要在en_US.utf8下嗎?
Necoo avatar
By Necoo
at 2013-05-09T10:15
抱歉 系統是server版的 沒有xwindows 這個好像是x-windows
client
Tracy avatar
By Tracy
at 2013-05-10T08:23
不好意思 我忘了提出沒有xwindows的問題 謝謝你提供的方法
Connor avatar
By Connor
at 2013-05-11T23:43
ptt的話登入的時候賬號後面加個 , 就會進入utr8模式了
Tracy avatar
By Tracy
at 2013-05-14T18:41
ssh bbsu有pad字寬
Kyle avatar
By Kyle
at 2013-05-18T02:49
bug5也可以在console下執行,也可以pad字寬,也可以處理
雙色字,不限於ptt
Regina avatar
By Regina
at 2013-05-18T11:20
是用nbsp墊,複製貼上時會自動去掉(貼到別處當然得自己
Anonymous avatar
By Anonymous
at 2013-05-18T21:28
去掉囉) 沒有一字雙色,這要terminal有特異功能才辦得到
Edward Lewis avatar
By Edward Lewis
at 2013-05-23T02:04
對了,bug5還內建UAO支援,這是luit和screen都沒有的
雙色字的修正也是luit/screen沒有的
Yuri avatar
By Yuri
at 2013-05-25T06:50
複製貼上去除padding是ssh bbsu沒有的功能
Rebecca avatar
By Rebecca
at 2013-05-26T20:54
ptt有pad喔,去russian找一篇有俄文按回覆然後複製貼上
就看得出來了
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2013-05-31T09:02
有些環境無法讓terminal切成寬字元模式,就還是需要啊
Ethan avatar
By Ethan
at 2013-06-04T22:01
bsdconv/bug5對不起來是因為兩邊版本不一致
Queena avatar
By Queena
at 2013-06-08T03:34
也許是ptt會自動偵測要不要開padding 這我沒注意過
Iris avatar
By Iris
at 2013-06-11T18:08
因為我是習慣用非寬字元的環境,所以測出來是有padding的
Ingrid avatar
By Ingrid
at 2013-06-15T10:12
剛查了一下,fbterm有ambiguous-wide可以設定
Dora avatar
By Dora
at 2013-06-18T08:00
jfbterm有--ambiguous={unchanged,single,double}
加上你貼的VTE解法,應該大多數時候都可以有真的寬字元
可以用了:D
Hedwig avatar
By Hedwig
at 2013-06-20T13:24
https://github.com/buganini/termim <= 半成品
還有底下提到的ucimf也可以試試
Zora avatar
By Zora
at 2013-06-21T15:15
termim之前是在FreeBSD底下開發的,linux編不起來XDD

有沒有偵測耗電量的軟體

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2013-05-01T23:37
雖然要偵測精確的耗電量 需要搭配實體裝置才能偵測 但想問一下有沒有軟體能偵測出耗電量約略值的 - ...

請問Nginx一些菜鳥問題

Puput avatar
By Puput
at 2013-05-01T23:22
最近試著再練習Nginx做load balance 但是有些問題不太懂 我現在有兩台一模一樣的AP server 這樣是代表兩台都要安裝Nginx嗎 假設 server1 IP是 192.168.1.1 server2 IP是 192.168.1.2 AP對外 IP是 192.168.1.3 這樣是代表我要 ...

VirtuaBox裝RedHat 6一些問題

Olive avatar
By Olive
at 2013-05-01T19:37
小弟目前是初學者, 想要用VirtualBox裝Linux RedHat, 奇怪的是在用VirtualBox裝的時候並沒有跳出圖形介面, 而是用文字界面安裝。是因為VirtualBox就只能用文字介面安裝, 還是VirtualBox版本的問題? 而且在我安裝的過程中,會跳過選套件跟磁碟分割的過程, ...

Debian DNS動態更新

Rosalind avatar
By Rosalind
at 2013-05-01T13:37
小弟我 在Debian 架設好了DNS 也用nslookup 查詢過都正常 但是 想和 Windows Server 2008 R2 的Active Directory網域做連結 卻一直失誤,也許有整合、授權等問題,但是小弟剛剛在書本查詢到 需要有動態更新的 DNS 才可以 為主要伺服器~~ 有ˇ人知道 ...

win8 筆電使用USB開機

Adele avatar
By Adele
at 2013-04-30T19:51
※ 引述《yzu5566 (成熟仁甫哥)》之銘言: : 小弟心血來潮 : 想來用ubuntu系統 : 想做一個USB開機隨身碟 : 到了ACER的BIOS 把USB的開機順序提高 : 螢幕出現 : USB Flash Drive has been blocked by the current security ...