liberoffice不能用fcitx打中文 [論壇 - Ubuntu 與中文]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



liberoffice不能用fcitx打中文
會員一級
註冊日期:
2015/1/15 22:05
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 0
MP : 0 / 0
EXP: 0
離線
我花了一天半找到了解法。

系統:ubuntu 16.04 (kde plasma)

問題:在firefox或terminal都可以用fcitx的輸入法,不過liberoffice或是emacs在使用ctrl+space的時候,什麼東西都沒有發生,導致輸入法都無法使用。

解法:

我下 `locale` 看到,LC_ALL是設為lzh_TW,它會讓LC_CTYPE也被設成lzh_TW,這個會讓輸入法在libreoffice等軟體上不正常運行。

```
LANG=zh_TW.UTF-8
LANGUAGE=en_US:zh_TW
LC_CTYPE="lzh_TW"
LC_NUMERIC="lzh_TW"
LC_TIME="lzh_TW"
LC_COLLATE="lzh_TW"
LC_MONETARY="lzh_TW"
LC_MESSAGES="lzh_TW"
LC_PAPER="lzh_TW"
LC_NAME="lzh_TW"
LC_ADDRESS="lzh_TW"
LC_TELEPHONE="lzh_TW"
LC_MEASUREMENT="lzh_TW"
LC_IDENTIFICATION="lzh_TW"
LC_ALL=lzh_TW
```

我們的目的只要把LC_CTYPE設成zh_TW.UTF-8。

先下`locale -a`,如果沒看到`zh_TW.utf8`的話就要自己build

`sudo <任何editor> /etc/locale.gen` , 把
`# zh_TW.UTF-8 UTF-8` 前面的#掉 (也就是取消註解)

再下 `sudo locale-gen` 就可以了。

`sudo <任何editor> /etc/default/locale` 把 LC_ALL 設成 zh_TW.UTF-8 (e.g. LC_ALL="zh_TW.UTF-8")

改完後 登出 再 登入就行了

2017/9/1 11:35
應用擴展 工具箱
回覆: LibreOffice 不能用 fcitx 打中文
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 898
MP : 664 / 28670
EXP: 92
離線
先恭喜您解決了問題。

也感謝您分享了您的解法,這樣未來有遇到相同問題的人,就有跡可循。

================================================================================

另外題外話,我之前有針對「lzh」做了一點簡單的探索,紀錄在下面兩篇回覆。

* 回覆: 安裝 ubuntu server 1604時發生這樣的問題 - 「#10」,「#11

雖然目前我也沒再進一步去探究導致出錯的確切成因,不過還是提供給有想深究的人一些探索的起點。

一些輸入法的討論案例,紀錄在「[索引] 中文輸入」。

跟「locale」相關的則是紀錄在「[索引] 文件編碼」。

一些套件探索的討論案例,則是紀錄在「[索引] 套件操作實務」。


================================================================================

輸入法我是使用「fcitx-chewing」。

我的環境是「Xubuntu 16.04 amd64 英文界面」,

因為我慣用英文界面,所以我「/etc/default/locale」目前的設定如下


# File generated by update-locale
LANG="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"



執行


$ locale



顯示


LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=



我沒去探索細部每個選項,網路上應該可以找到更多的參考文章,可以查詢「ubuntu locale」或是「linux locale」。
或是參考下面列的「## Locale 相關文件」。

================================================================================

## Locale 相關文件

* https://help.ubuntu.com/community/Locale
* https://wiki.debian.org/Locale
* $ man 7 locale
* $ man 5 locale
* $ man 1 locale

也可以參考「鳥哥的 Linux 私房菜 / 第十章、認識與學習BASH / 10.2.4 影響顯示結果的語系變數 (locale)」的說明。

================================================================================

以上提供參考

報告完畢


2017/9/1 12:41
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.