Gnome-Terminal
gnome-terminal unicode chars 未顯示 - 語言環境設置為 en_US.utf8
我很難讓我的終端顯示 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 來解決。可見字元沒有立即改變,但新鍵入的字元開始正確顯示。無需重新啟動任何東西。