问题现象:
- 使用buildroot制作的根文件系统,
vi/vim
查看文件里面的中文时,显示乱码,但是使用cat
或者tail
命令可以显示中文 - 应用程序创建中文名字的文件,创建后,中文名无法显示,其他应用程序也无法识别该命名的文件
- 使用
touch
无法创建中文名的文件
问题查询:
经过查询,buildroot 系统默认不支持中文,Linux系统中文显示的更改其实就是更改内核的字符集和打开busybox的显示封锁
问题解决:
- 内核配置修改,如果使用linux5.10的内核,则此项直接跳过
- FAT使用的默认输入/输出字符集修改为 utf8: CONFIG_FAT_DEFAULT_IOCHARSET=“utf8”
- 挂载文件系统使用的NLS默认字符集修改为 utf8: CONFIG_NLS_DEFAULT=“utf8”