變音符號的問題(無法輸入終端+無法打開文件)
在我的筆記型電腦上,我安裝了 Linux Mint 18.3,現在我遇到了以下問題:
作為一個德國人,我碰巧有一些文件(或目錄)的名稱中包含變音符號(這本身不是問題)。如果我現在嘗試打開那些包含變音符號或位於名稱包含變音符號的(子)目錄中的文件(例如 PDF),它將無法打開。
例如,我有一個名為的目錄
Übungsblätter
,在該目錄的某處我有一些 PDF 文件。如果我嘗試從文件管理器打開其中一個文件,Okular 會告訴我它無法打開.../Ãbungsblätter/...
,這表明它通過用一些奇怪的字元替換變音符號來搞亂路徑。但是,如果我打開了 Okular 並使用其菜單打開相應的文件,一切都會像魅力一樣工作,所以只有在嘗試從我的文件管理器(Dolphin)打開文件時才會出現問題。
此外,我體驗到我無法在終端中輸入變音符號。我發現這個問題處理了那個特定的問題,我希望這也能解決文件問題。然而,情況並非如此,儘管我現在可以在終端中輸入變音符號(儘管在輸入變音符號時它會插入兩個字元。例如,在輸入時
ö
它會插入兩個字元\udcc3\udcb6
(通過輸入ö
和點擊發現)之後返回)。它確實顯示為單個ö
字元,但我必須明確刪除兩個字元才能使命令行再次為空。這是輸出
locale
:locale: Cannot set LC_ALL to default locale: No such file or directory LANG=de_DE.UTF-8 LANGUAGE=en_US LC_CTYPE="de_DE.UTF-8" LC_NUMERIC=de_DE.UTF-8 LC_TIME=nds_DE.UTF-8 LC_COLLATE="de_DE.UTF-8" LC_MONETARY=de_DE.UTF-8 LC_MESSAGES="de_DE.UTF-8" LC_PAPER=de_DE.UTF-8 LC_NAME=de_DE.UTF-8 LC_ADDRESS=de_DE.UTF-8 LC_TELEPHONE=de_DE.UTF-8 LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=de_DE.UTF-8 LC_ALL=
編輯:
我剛剛發現從終端打開相應的 PDF 時,它也會以與從文件管理器打開時類似的方式出錯,但這次它說它無法打開
.../bungsbltter/...
(它完全刪除了變音符號)EDIT2:
輸出
locale -a
:C C.UTF-8 de_DE.utf8 en_AG 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 en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZM en_ZM.utf8 en_ZW.utf8 POSIX
編輯 3:
/etc/default/locale
:LANGUAGE=en_GB.utf8 LANG=en_US.UTF-8
我在語言環境設置中看到了一些混亂。
一點是:
de_DE
和en_US
的混合en_GB
。另一點是:一些語言環境是用 聲明的
.utf8
,另一些是用 聲明的.UTF-8
。雖然意思應該是一樣的,但可能會引起麻煩。錯誤消息
Cannot set LC_ALL to default locale: No such file or directory
可能是因為缺少en_US.UTF-8
inlocale -a
(en_US.utf8
相反),但它是在/etc/default/locale
.我有點困惑,
LANG=de_DE.UTF-8
在輸出中看到locale
雖然它沒有定義,/etc/default/locale
也沒有/etc/locale.conf
. 也許是覆蓋系統設置的桌面環境設置?還是在~/.bashrc
?還要檢查您是否有~/.config/locale.conf
. Arch wiki中列出了更多可以設置環境變數的位置。找出在哪裡LANG=de_DE.UTF-8
設置並刪除它。我認為最好的方法是將所有內容設置為德語語言環境。您的
locale -a
節目在您的系統上安裝了語言環境。其中之一是de_DE.utf8
。核心設置在
/etc/default/locale
. 您可以手動編輯它,我認為它的內容應該是公正的LANG=de_DE.utf8
,僅此而已。您可以自己編輯文件,或為此使用工具:update-locale --reset LANG=de_DE.utf8
為了使系統保持英語,但也有變音符號,將語言環境設置
en_US.utf8
為locale -a
. utf8 應該提供變音符號,即使該語言不使用它們:update-locale --reset LANG=en_US.utf8
祈禱,重新啟動並檢查是否一切正常。如果控制台工作正常,但桌面環境中仍然存在問題,請檢查您的桌面設置 GUI 中的語言條目,並將 is 設置為
de_DE.utf8
。