Ubuntu 同时输出 UTF-8 和 ISO-8859-1 字符的问题

Ubuntu 同时输出 UTF-8 和 ISO-8859-1 字符的问题

我使用 PuTTY 连接到我的 Xubuntu 系统。当我将翻译设置为 UTF-8 时,systemd 的输出看起来不错,但 ncurses 应用程序显示得很奇怪。当我将 PuTTY 中的翻译设置为 ISO-8859-1(西欧)时,ncurses 程序看起来很完美,而 systemd 的输出有奇怪的字符。

  1. 哪个应用程序运行不良?
  2. 有没有办法强制任何一个应用程序与另一个应用程序兼容?

答案1

您可能需要设置一些环境变量来根据您的语言和国家/地区自定义程序。这里有一篇关于区域设置。 简而言之:

  • 运行locale检查当前值,它们必须与 PuTTY 的翻译设置相匹配。
  • 如果 PuTTY 中的翻译设置为 UTF-8,并且(例如)您的语言是保加利亚语,则需要设置bg_BG.UTF-8您的语言环境(如果不是)。您可以通过以下步骤完成此操作:

    • 生成缺失的区域设置:

      sudo locale-gen en_US.UTF-8
      
    • 重新配置区域设置:

      export LANG=bg_BG.UTF-8
      
    • 然后,您可以调整一些所需的语言环境类别。例如,您可以通过以下方式将翻译后的终端消息恢复为英文:

      export LANGUAGE=en_EN.UTF-8
      
  • 如果一切看起来正确,您可以将上述(导出)命令放入文件末尾~/.bashrc,它们将在每次未来的会话中加载。

  • 根据@fkraiem 的评论对于某些应用程序(类似 GNU Dialog)你必须在末尾添加这一行~/.bashrc

    export NCURSES_NO_UTF8_ACS=1
    

希望这会有所帮助。

相关内容