Arch-Linux

語言環境問題;不能讓 Arch Linux 使用 UFT-8

  • January 26, 2014

注意:根據關於meta建議,提出了這背後的真正問題。這個問題應該作為一個不可重複的題外話來關閉,因為它的主要問題是通過更正一個錯字來解決的。


大家好,

我嘗試遵循各種官方教程和問題以及假設的解決方案(少數僅適用於,例如基於Debian 發行版),但都沒有奏效。添加諸如LANG="pt_PT.UFT-8"in ~/.bashrcdid/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??nciasTab給出。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 之前。

引用自:https://unix.stackexchange.com/questions/109053