FreeBSD 设置为 UTF-8,但似乎以 ASCII 显示
FreeBSD is set to UTF-8, but seems to display in ASCII
我有 FreeBSD 10.3 引导到控制台(根本没有 x),控制台 shell 是 csh。我试图让它使用 UTF-8。我已按照手册中的说明进行操作,更改了我的 login.conf 文件(并重建了数据库)和 shell 配置文件。现在 运行
locale
告诉我所有设置为 UTF-8,但是当我尝试打开一个 Unicode 文本文件时,它似乎使用了标准的 ASCII 代码。
我有另一台机器 运行 FreeBSD 10.3(实际上是 PC-BSD),它具有相同的字体集并运行相同的 shell(在控制台模式下),一切正常。就 UTF-8 设置而言,我无法确定配置中的任何差异。
知道我错过了什么吗?
/boot/loader.conf
中有kern.vty=vt
吗? You need to change the console driver from sc (default) to vt for UTF-8 support in console(仅适用于 FreeBSD >= 9.3 和 FreeBSD >= 10.1)。
快捷方式:
echo 'kern.vty=vt' >> /boot/loader.conf
# Default global locale
# For (ba)sh
echo 'export LANG=fr_FR.UTF-8' >> /etc/profile
echo 'export MM_CHARSET=UTF-8' >> /etc/profile
# For (t)csh
echo 'setenv LANG fr_FR.UTF-8' >> /etc/csh.login
echo 'setenv MM_CHARSET UTF-8' >> /etc/csh.login
如果您从 grub2 启动 FreeBSD,请将 FreeBSD 菜单项中的行 set kFreeBSD.kern.vty=vt
添加到您的 grub 配置文件中。
(然后重新启动 - 将 fr_FR 更改为您自己的语言环境)
或者重建你的内核:
include GENERIC
ident MY_KERNEL_NAME
nodevice sc
device vt
device vt_vga # only for i386/amd64
我有 FreeBSD 10.3 引导到控制台(根本没有 x),控制台 shell 是 csh。我试图让它使用 UTF-8。我已按照手册中的说明进行操作,更改了我的 login.conf 文件(并重建了数据库)和 shell 配置文件。现在 运行
locale
告诉我所有设置为 UTF-8,但是当我尝试打开一个 Unicode 文本文件时,它似乎使用了标准的 ASCII 代码。 我有另一台机器 运行 FreeBSD 10.3(实际上是 PC-BSD),它具有相同的字体集并运行相同的 shell(在控制台模式下),一切正常。就 UTF-8 设置而言,我无法确定配置中的任何差异。
知道我错过了什么吗?
/boot/loader.conf
中有kern.vty=vt
吗? You need to change the console driver from sc (default) to vt for UTF-8 support in console(仅适用于 FreeBSD >= 9.3 和 FreeBSD >= 10.1)。
快捷方式:
echo 'kern.vty=vt' >> /boot/loader.conf
# Default global locale
# For (ba)sh
echo 'export LANG=fr_FR.UTF-8' >> /etc/profile
echo 'export MM_CHARSET=UTF-8' >> /etc/profile
# For (t)csh
echo 'setenv LANG fr_FR.UTF-8' >> /etc/csh.login
echo 'setenv MM_CHARSET UTF-8' >> /etc/csh.login
如果您从 grub2 启动 FreeBSD,请将 FreeBSD 菜单项中的行 set kFreeBSD.kern.vty=vt
添加到您的 grub 配置文件中。
(然后重新启动 - 将 fr_FR 更改为您自己的语言环境)
或者重建你的内核:
include GENERIC
ident MY_KERNEL_NAME
nodevice sc
device vt
device vt_vga # only for i386/amd64