unicode - FreeBSD 设置为 UTF-8,但似乎以 ASCII 显示

标签 unicode encoding utf-8 freebsd

我有 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

关于unicode - FreeBSD 设置为 UTF-8,但似乎以 ASCII 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37967810/

相关文章:

unicode - Google Cloud Storage 不处理 UTF-8 文件名

python - 短 rot13 函数 - Python

mysql - 如果 DBI::mysql_enable_utf8 未正确设置会发生什么情况?

c# - 有没有办法在不知道解码值编码的情况下确定 base64 编码值的长度?

php - UTF-8贯穿始终

delphi - 将 RTF 文本从数据库加载到 TRichEdit

javascript - 确保输入到表单的文本是 unicode 否则会引发错误

unicode - 创建 apl 语言栏的文本副本

encoding - UTF-16与UTF-8兼容吗?

python - 在收件人或发件人的姓名中使用变音符号从 Python 发送电子邮件