[討論]關於zh_CN.utf8,zh_TW.utf8的可行性?

debian 開發版,這個版面主要是要討論 debian@taiwan or debian@chinese 相關開發議題,所謂開發如 debian 中文化問題、文件製作維護問題、程式開發問題...最終目的是能從這個版面的討論成立一個接一個的工作小組來幫助 debian@taiwan or debian@chinese 發展,讓 taiwan 或華人能更方便的使用 debian。

re:[討論]關於zh_CN.utf8,zh_TW.utf8的可行性?

文章nksin » 週一 5月 26, 2003 12:16 pm

高原之狼 寫:我对这个问题是这样的看法:

大陆方面现在也是 GB 编码占绝对优势,其原因显然是历史的:Windows 直到 98 还只有 GB 的输入输出,自然绝大部分人都只熟悉 GB 编码。而且我想与台湾相比,大陆的 Windows 更占绝大多数,很多人根本不知道 Linux 是何物,更不要说 Unicode 了。这样的结果就是绝大多数资料和通信都是 GB 编码的,你如果用 Unicode,就会你写的东西人家看不懂,怎么办?所以只要 Windows 一统天下的情况不改变,UTF-8 的推广就只能是一句空话。

当然,不是说我们就不能先把 Linux 的 Unicode 化做好了,比如我们先检查 application 是不是支持 UTF-8,再把文档的标准语言换成 UTF-8(不幸的是文档体积会增大 50%)等等。对了,下一版的 Debian 无痛起步法可不可以考虑用 UTF-8?

(抱歉用了簡體,忘了改過來了。)


window的东东是如何做的呢? 现在无论中文Xp / 英文XP都可以正确显示简繁体,
其内部是unicode吧, 然后自动转来转去?
nksin
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週二 5月 20, 2003 11:29 am

re:[討論]關於zh_CN.utf8,zh_TW.utf8的可行性?

文章wctang » 週一 5月 26, 2003 5:02 pm

大致上沒錯,我用一些程式來說明,不知道會不會比較清楚…
windows2000 下的文字顯示。

windows 2000
在 windows 中在和字串相關的 win32 api 都有兩個版本,例如 SetWindowText 是設定視窗
標題的文字。

BOOL SetWindowText(
HWND hWnd,
LPCTSTR lpString
);

不過其實 SetWindowText 只是個 macro,真正的函式定義有兩個,一個是
ANSI 版,另一個是 Unicode 版,實際上用哪個是在 compile 時就決定了,看 compile 時的
設定。

#ifdef UNICODE
#define SetWindowText SetWindowTextW
#else
#define SetWindowText SetWindowTextA
#endif // !UNICODE

看看原本的 SetWindowText 原型, LPCTSTR 也是用類似的定義。如果有定義 UNICODE 的話,
就是個 unicode(utf16) 的字串,不然的話就代表一般的 ansistring。

雖然在使用者寫程式時有兩種選擇,可是系統內部其實只有一套,就是 unicode 的那一套。
至於在 ansi 字串時,其實就只是先轉成 unicode 再在內部呼叫 unicode 的那一套。
那要怎麼從 ansi 轉成 unicode,是以使用者一個設定值。在
control->regional->Advanced->Language for non-Unicode programs,可以試試,換一下。
如原本是 PRC 換成 taiwan,原本是 taiwan 換成 PRC,你打開文字檔就可以看到一堆亂碼了。
可是就算你設錯了,原本內部就是以 unicode 設計的程式是不受影響的,因為我的是英文版的,
所以看不出來,不過大概 office 就不會受到影響吧。
當然,如果你本來就道讀進來的字串是什麼編碼的話,windows 也提供轉碼的方法。所以如果你
知道人家從網路上傳給你的一段文字是 jis 編碼,只要在程式中先轉成 utf16 ,再用 unicode
輸出,不管使用者的 locale 設定如何都可以正確的顯示,而如何知道一段文字的編碼,就由
mime 等標準來得知吧。如果只是純文字檔的話呢? 其實還是有辦法的,是用 BOM 來做,不過就只能判斷是不是 UNICODE, 像繁簡體就沒輒了。我在想,當 linux 上的 utf-8 已經很完善的話,我的文件就都要用 unicode 的形式來做了,這樣的問題應該會少得多了吧…

所以,如果你的程式是以unicode 來做輸出的話,不論 user 的 locale 的設定如何,也都可以
正確顯示的。而且 windows 的字型是系統來管理,在內部是以 unicode 的方式來對應,所以通
常也不會出現問題。

另一方面是訊息會不會依使用者設定的 locale 來自動轉換文字顯示,這點我的印象是由 resource
來做到,不過在 windows 少有程式做到這點。

結論是, windows 的顯示功能是以 unicode 為基礎。而這點在 linux 上大概要把 locale 的 encoding
設定成 utf-8 才能有同樣的效果吧。

不知道這樣說明會不會比較清楚?
至於 linux 上的方法,網路上也蠻多人有說明,看看有沒有人可以介紹一下…
頭像
wctang
榮譽學長
榮譽學長
 
文章: 49
註冊時間: 週六 4月 19, 2003 11:07 am

re:[討論]關於zh_CN.utf8,zh_TW.utf8的可行性?

文章pesder » 週一 5月 26, 2003 5:50 pm

wctang 寫:唉, BIG-5 沒過嗎? 真是令人費解…
台灣就只能有個 CNS 了,不管是不是有人實作它,政府官方的CNS網頁也只會叫別人下載造字檔什麼的,根本沒有解決問題。
對了, yudit 的中文輸入是不是一定得這麼難用啊? 他為什麼不支援 XIM 呢? 雖然它真的很強,不過看來他是自己弄自己的…

未來輸入的標準應該是 IIIMF 了,像 xcin 也是準備支援 IIIMF 。不過如果真的讓 xcin 支援 utf-8 ,可真是進了一大步。那麼到時候應該就可以簡/繁體混合輸入了吧?
pesder
可愛的小學生
可愛的小學生
 
文章: 38
註冊時間: 週六 11月 23, 2002 4:26 pm
來自: 雲林

Re: re:[討論]關於zh_CN.utf8,zh_TW.utf8的可行性?

文章訪客 » 週五 12月 02, 2005 5:21 pm

pesder 寫:
阿信 寫:unicode的事情可能是因為我們台人比較小聲,所以才無法及時制定對中文字的標準。

倒不是台灣比較小聲啦,而是人家要的是一套標準,可是Big5哪來的標準?去年 ICOS 有提到,我們有最原始的Big5(沒日文)、Big5-eten(倚天版,有日文)、CP950(微軟版)、Big5-HKCSS(香港的標準,香港聲音也不會大我們多少吧,不過人家政府肯做)....等等,到底哪一套可以代表Big5去跟unicode對應?結果當然是隨人家來做了。(記得前陣子申請 Big5 為國家標準的行動已經被回絕了,看來台灣可能永遠也不會有“標準”、“官方”的 Big5 碼吧....)

至於未來嘛,政府是要直接進到 unicode 的樣子,但是也不太容易吧。目前 Openi18n 的 Big5 小組也還著重於 Big5 標準的制定,要脫離 Big5 恐怕還要一段不少的時間呢。

抱歉這些可能沒啥建設性....
訪客
 

上一頁

回到 debian develop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客