本文记录了如何在 CentOS8
设置 Locale
。
起因
最近在 CentOS
上做文件下载功能调试时,发现了个异常:
1 | java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /data/trans/视频.mp4 |
按照异常提示信息,应该是文件路径中包含了特殊字符之类的,但仔细看了下路径,只包含了中英文字符,那只能猜测系统不支持中文字符了。
测试
新建一个中文名称的文件:
1 | [root@ecs-centos tmp]# touch 文件.txt |
可以看到文件名变成了“乱码”。
查看系统语言设置
1 | [root@ecs-centos tmp]# locale |
可以看到语言设置的确已经设置成了中文。
查看系统当前支持的语言
虽然语言已经设置了中文 zh_CN.UTF-8
,但有可能是系统本身没有中文语言包。
1 | [root@ecs-centos tmp]# locale -a |
可以看到操作系统并没有中文语言包。
安装中文语言包
1 | # 依次执行以下命令 |
验证
重新使用 ll
列出所有文件:
1 | [root@ecs-centos tmp]# ll |
可以看到文件名可以正常显示了。
再次查看系统当前支持的语言:
1 | [root@ecs-centos tmp]# locale -a |