在我的笔记本电脑上,我安装了 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/...
(它完全删除了变音符号)
编辑2:
输出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
答案1
我发现区域设置有些混乱。
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
(locale -a
而是en_US.utf8
),但它是在 中声明的/etc/default/locale
。
LANG=de_DE.UTF-8
我在输出中看到它有点困惑,locale
尽管它没有定义/etc/default/locale
并且没有/etc/locale.conf
.也许桌面环境中的设置会覆盖系统设置?或者在~/.bashrc
?还要检查您是否有~/.config/locale.conf
.更多可以设置环境变量的位置列在拱门维基。找出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 中的语言条目,并将其设置为de_DE.utf8
。