linux locale 介绍
问题
我在本地调用服务,返回的结果应该是土耳其语,但是本机上显示的结果和服务端的结果不一样。
本地结果
ne yapmal覺y覺m ne yapmal覺y覺m
服务端结果
ne yapmalıyım ne yapmalıyım
经查询是因为本地机器locale设置问题,本地locale 设置语言为中文 ‘LANG="zh_CN.UTF-8"’ 遇到土耳其语时显示失败,将其设置为‘LANG=en_US.UTF-8’即能正常显示
什么是locale
locale是一组环境变量,用于定义用户的语言、区域以及用户希望在 Linux 界面中看到的任何特殊变体。
相关命令
- 查询本地locale
直接在dos下输入locale 即可
locale
显示如下
locale 命名规则为 language[_territory][.codeset][@modifier], language为语言,territory地区,codeset字符集。例如"zh_CN.UTF-8" zh表示中文,CN表示中国,UTF-8表示字符集
- 查询所有可用locale
locale -a
- 设置系统locale
localectl set-locale LANG=en_US.UTF-8
参考: Locale