我有FreeBSD 10.3引导进入控制台(根本没有x),控制台shell是csh。我试图让它使用UTF-8。我按照手册中的说明,更改了 login.conf 文件(并重建数据库)和shell配置文件。现在正在运行
locale
告诉我所有都设置为UTF-8,但是当我尝试打开Unicode文本文件时,看起来好像使用了标准的ASCII代码。 我有另一台运行FreeBSD 10.3(实际上是PC-BSD)的机器,它具有相同的字体集并运行相同的shell(在控制台模式下),一切正常。就UTF-8设置而言,我无法确定配置上的任何差异。
任何想法我缺少什么?
答案 0 :(得分:4)
kern.vty=vt
中有/boot/loader.conf
吗? 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的menuentry中的行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