Gnome-Terminal

gnome-terminal unicode chars 未顯示 - 語言環境設置為 en_US.utf8

  • January 6, 2021

我很難讓我的終端顯示 unicode 字元。我已將 LOCALE/LANG 環境變數設置為 en_US.utf8:

locale
   LANG=en_US.utf8
   LC_CTYPE=en_US.utf8
   LC_NUMERIC="en_US.utf8"
   LC_TIME="en_US.utf8"
   LC_COLLATE="en_US.utf8"
   LC_MONETARY="en_US.utf8"
   LC_MESSAGES="en_US.utf8"
   LC_PAPER="en_US.utf8"
   LC_NAME="en_US.utf8"
   LC_ADDRESS="en_US.utf8"
   LC_TELEPHONE="en_US.utf8"
   LC_MEASUREMENT="en_US.utf8"
   LC_IDENTIFICATION="en_US.utf8"
   LC_ALL=


echo -e '\xe2\x82\xac' 
���

我發現的所有內容都說要設置 LANG 和 LOCALE 變數,我已經這樣做了,但問題仍然存在。locale -a顯示正確的語言環境可用:

Laptop:~:0:2030$ locale -a | grep utf
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN.utf8
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM.utf8
en_ZW.utf8
es_AR.utf8
es_BO.utf8
es_CL.utf8
es_CO.utf8
es_CR.utf8
es_DO.utf8
es_EC.utf8
es_ES.utf8
es_GT.utf8
es_HN.utf8
es_MX.utf8
es_NI.utf8
es_PA.utf8
es_PE.utf8
es_PR.utf8
es_PY.utf8
es_SV.utf8
es_US.utf8
es_UY.utf8
es_VE.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
ga_IE.utf8
nl_AW.utf8
nl_BE.utf8
nl_NL.utf8
pl_PL.utf8

我還驗證了這不僅限於 CLI。例如,u+2713在 VIM(這是我經常使用的東西)中進行操作,也會產生<?>字元輸出。

在 gnome-terminal 選項中,我將其設置為使用預設系統字型,但在沒有幫助的情況下嘗試了列表中的所有字型,並且Google搜尋“終端 unicode 字型”只是繼續告訴我設置我的 LOCALE 的循環/朗。

編輯:如下所示,我將語言環境/語言更改為 en_US.UTF-8,但這並沒有解決問題:

Laptop:~:0:2013$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
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=

Laptop:~:0:2014$ echo -e '\xe2\x82\xac'
���

解決方案要簡單得多。我不得不去 gnome-terminal 的 GUI 設置,訪問 Terminal -> Set Character Encoding -> UTF-8。

– 將此作為Ubuntu中的預設設置(很遺憾在此 SE 論壇中發現它是特定於發行版的解決方案):

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8

*我在終端 -> 設置字元編碼 -> Unicode (UTF-8)*正確設置時遇到了同樣的問題。該問題已通過將編碼設置為其他內容然後返回 UTF-8 來解決。可見字元沒有立即改變,但新鍵入的字元開始正確顯示。無需重新啟動任何東西。

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