我在 Windows 7 上使用 PuTTY 访问装有 Ubuntu 10.10 的 Linux 机器。我认为 Windows 7 使用的是 Latin-1。但我需要在 Linux 机器和 PostgreSQL 数据库中使用 UTF-8。
我如何使用PuTTY做到这一点?
答案1
连接时,您可以从配置对话框中将 PuTTY 设置为使用 UTF-8。转到窗口 -> 翻译,然后设置“接收的数据假定采用哪种字符集”转换为 UTF-8。
另外,连接后UTF-8
运行检查您的语言环境是否以 结尾。locale
如果不是,请运行locale -a
以查看所有可用的语言环境。如果没有可用的 UTF-8 语言环境,则需要配置/etc/locale.gen
,它通常注释得相当好,应该很容易看出要添加或取消注释的内容。然后运行locale-gen
并再次检查locale -a
以查看生成的 UTF-8 语言环境。
export LC_ALL="sv_SE.UTF-8"
如果生成了语言环境,则应该采取类似的措施来实际设置语言环境。
答案2
两个基本因素是 putty 中的窗口/翻译和 Linux 中的区域设置,正如这里和许多其他地方所指示的。
此外,在 putty 中将 Connection/Data/Terminal-type 字符串设置为“putty”可能会有所帮助,和/或在 Linux 中导出 NCURSES_NO_UTF8_ACS=1。这两项也在多个地方提到过。
但是:您可能仍会遇到某些字符被屏蔽的情况,因为 Courier 和 Lucida Console 等默认字体并不包含所有 Unicode 字符。下载并安装http://dejavu-fonts.org/wiki/Download,并设置putty来使用它。
最后一个技巧对于我使用 noping (推荐!) 显示所有图形字符来说是必需的。