語言環境問題;不能讓 Arch Linux 使用 UFT-8
注意:根據關於meta的建議,他提出了這背後的真正問題。這個問題應該作為一個不可重複的題外話來關閉,因為它的主要問題是通過更正一個錯字來解決的。
大家好,
我嘗試遵循各種官方教程和問題以及假設的解決方案(少數僅適用於,例如基於Debian 的發行版),但都沒有奏效。添加諸如
LANG="pt_PT.UFT-8"
in~/.bashrc
did/t 之類的東西也可以工作,儘管它可以消除man
警告(但會生成一些警告,例如bash: can't set $LC_CTYPE (...)
登錄後載入 shell):man: can't set the locale; make sure $LC_* and $LANG are correct
我的文件,順便說一句,
locale.conf
經歷了很多變數的組合:LC*``LANG*
LANG="pt_PT.UFT-8" LANGUAGE="pt_PT.UFT-8"
其他一些命令的結果:
[jmcf125@jmcf125-Toshiba-Arch ~]$ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=pt_PT.UFT-8 LC_CTYPE="pt_PT.UFT-8" LC_NUMERIC="pt_PT.UFT-8" LC_TIME="pt_PT.UFT-8" LC_COLLATE="pt_PT.UFT-8" LC_MONETARY="pt_PT.UFT-8" LC_MESSAGES="pt_PT.UFT-8" LC_PAPER="pt_PT.UFT-8" LC_NAME="pt_PT.UFT-8" LC_ADDRESS="pt_PT.UFT-8" LC_TELEPHONE="pt_PT.UFT-8" LC_MEASUREMENT="pt_PT.UFT-8" LC_IDENTIFICATION="pt_PT.UFT-8" LC_ALL= [jmcf125@jmcf125-Toshiba-Arch ~]$ locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory C POSIX en_US.utf8 pt_PT.utf8 [jmcf125@jmcf125-Toshiba-Arch ~]$ localectl System Locale: LANG=pt_PT.UFT-8 VC Keymap: pt-latin9 X11 Layout: pt
locale.gen
(暫無評論):en_US.UTF-8 UTF-8 pt_PT.UTF-8 UTF-8
locale-gen
總是返回:Generating locales... en_US.UTF-8 pt_PT.UTF-8 Generation complete.
我也嘗試過
uft8
代替UFT-8
(那是我當時使用的 Ubuntu 解決方案的一部分),但沒有好的結果(儘管我在很多地方都沒有嘗試過)。此外,X 上的鍵盤不是
pt-latin9
,即使我這樣做loadkeys pt-latin9
和相關命令,雖然這不是我現在的主要問題。那是另一個問題。目前的問題是非 ASCII 字元顯示不正確(不在 tty 中,更不用說在 X 中了)。例如,如果我點擊 c cedilla 的鍵,我會得到一個
A
帶有顫音的 majuscule,我可以用 ! 刪除提示符的附加字元Backspace
!我懷疑這是因為 TTY 期望 2 個字節為 2 個字元,並允許額外的退格。雖然ls
字元的每個字節給出一個問號(例如:),但 TTY 上的 X 和其他內容(其他非 ASCII 字元)的補Transfer??ncias
全Tab
給出。Transferências/
我希望你能幫助我,這真的很煩人,我不知道還能做什麼。即使在寫這個問題的時候,我幾乎每次都打錯
'
了!/
的輸出
locale -a
告訴您您有一個名為pt_PT.utf8
. 但是您一直在嘗試使用pt_PT.UFT-8
不存在的 。採用LANG="pt_PT.utf8" LANGUAGE="pt_PT.utf8"
pt_PT.UTF-8
也應該工作,但它是UTF-8
,不是UFT-8
。T 在 F 之前。