gtk+ 中文顯示解決方案
有關gtk+在介面顯示中文的問題,常常在linux和使用gtk的win32的開發人員心中隱隱作痛。不過,人類是聰明的。中國人有上下2023年的悠久的血統。所以,我們是聰明的。所以,對於中文顯示也有很多對策。最常見的是ibm**上用的gettext不過。我試過,至少在win32下不行。所以,查了很多的資料。請教了很多linux公社的人。現在有了很好的解決方式。
首先,gtk+不是不支援中文,而是必須使用utf-8的編碼來顯示中文。而我們平時在國內使用的是gb碼。所以,由於編碼不同才會造成亂碼的。既然是這樣,所以問題也就迎刃而解了。我們只要在編譯的時候將中文轉換成utf-8再傳給gtk顯示就可以了。
接著我們就要考慮如何實現了。在linux公社有關這個解決方式的一種是將**轉換成utf-8在用gcc編譯。可是,我在win32下嘗試過了。用mingw32編譯失敗。那麼我們就用函式來實現吧。
最後我們就來看看該函式。
g_locale_to_utf8()
這個函式是gtk將系統預設編碼轉換成utf-8的乙個函式。
但是,這個函式每次呼叫都要傳入 5 個引數。太多又麻煩。所以,接見gettext的一些方式。使用_作為函式名來顯示中文。函式定義如下。
char *_(char *c)
如果需要呼叫就用 _("中文")就可以了。
好了,這個方式在redhat linux 9和 windows xp下測試都成功了。
其中,win32下的gtk是來自於
sdg - l&w
北斗星君(黃庠魁)(王朝網路 wangchao.net.cn)
GTK 中文顯示解決方案
自 gtk 中文顯示解決方案 有關gtk 在介面顯示中文的問題,常常在linux和使用gtk的win32的開發人員心中隱隱作痛。不過,人類是聰明的。中國人有上下5000年的悠久的血統。所以,我們是聰明的。所以,對於中文顯示也有很多對策。最常見的是ibm 上用的gettext不過。我試過,至少在win...
網摘 GTK中文顯示解決方案
來自 在gtk 中,必須使用utf 8的編碼來顯示中文。但我們平時在國內使用的是gb碼。所以,由於編碼不同會造成中文亂碼的。解決的關鍵就是將中文轉換成utf 8再傳給gtk顯示就可以了。gtk 提供了乙個函式g locale to utf8 這個函式是gtk將系統預設編碼轉換成utf 8的乙個函式。...
網摘 GTK中文顯示解決方案
來自 在gtk 中,必須使用utf 8的編碼來顯示中文。但我們平時在國內使用的是gb碼。所以,由於編碼不同會造成中文亂碼的。解決的關鍵就是將中文轉換成utf 8再傳給gtk顯示就可以了。gtk 提供了乙個函式g locale to utf8 這個函式是gtk將系統預設編碼轉換成utf 8的乙個函式。...