Ubuntu 显示中文字符 - 编码问题

Ubuntu 显示中文字符 - 编码问题

我正在运行 Ubuntu 14.04 32 位。我在终端、文件、MySQL 终端等中显示中文字符时遇到了一个奇怪的问题。中文字符显示为 ?????。经过一番谷歌搜索,我发现运行语言环境返回 LC_ALL 为空。当我将 LC_ALL 导出为 en_GB.UTF-8 时,????? 被替换为一些特殊字符,如菱形符号。

但是当我通过 SSH 连接到此系统时(从另一台 Ubuntu PC),设置 LC_ALL 后,我能够正确显示中文字符。如果没有 LC_ALL,中文字符将显示为 ?????。

我有另一个运行类似环境的系统,其中我可以在不导出 LC_ALL 的情况下显示中文字符。此外,locale 返回的 LC_ALL 为空。

我认为系统之间可能存在一些编码差异,或者某些字体可能不可用。

这台有问题的 PC 上是否缺少了什么东西或缺少了什么软件包?如何确保系统之间的语言环境相同?此外,在 Ubuntu 中显示中文或其他外文字符需要哪些软件包?

答案1

您的系统似乎没有定义区域设置。您应该将其设置为en_GB.UTF-8或您认为合适的任何区域设置。


查看当前区域设置:

locale -a

将区域设置设置为en_GB.UTF-8

sudo locale-gen en_GB.UTF-8
sudo update-locale LANG=en_GB.UTF-8

编辑您的区域设置:

如果您需要手动调整任何区域设置,您可以/etc/default/locale使用您喜欢的文本编辑器进行编辑。 这对于您来说不是必需的。

相关内容