Linux系统locale未正确配置会导致乱码、日期格式异常及中文识别失败,需依次查看当前设置、安装语言包、生成locale、临时设置会话语言、永久配置系统默认语言。

如果您在Linux系统中遇到命令行界面显示乱码、日期时间格式不符合本地习惯,或某些程序无法正确识别中文等非英文字符,则可能是系统语言环境(locale)未正确配置。以下是设置Linux系统语言的多种方法:
一、查看当前locale设置
确认当前系统已启用的语言环境,有助于判断是否缺失所需语言包或配置错误。该步骤可避免重复安装或误改配置。
1、打开终端,执行命令:locale,查看当前生效的locale变量值。
2、执行命令:locale -a | grep zh_CN,检查系统是否已安装简体中文语言包。
3、若输出为空,说明zh_CN.UTF-8 locale尚未生成,需后续步骤生成。
二、安装对应语言包
不同发行版使用不同包管理器安装locale支持文件。未安装对应语言包时,即使配置了变量也无法生效。
1、Ubuntu/Debian系统执行:sudo apt update && sudo apt install language-pack-zh-hans。
2、CentOS/RHEL 7执行:sudo yum groupinstall "Chinese Support"。
3、CentOS/RHEL 8或AlmaLinux/Rocky Linux执行:sudo dnf groupinstall "Chinese Support"。
4、Arch Linux执行:sudo pacman -S glibc vim-runtime --needed,并确保/etc/locale.gen中取消注释zh_CN.UTF-8 UTF-8行。
三、生成指定locale
安装语言包后,部分系统(如Debian系、Arch系)需显式生成locale定义,否则locale -a仍不可见。
1、编辑locale生成配置文件:sudo nano /etc/locale.gen。
2、找到包含zh_CN.UTF-8 UTF-8的行,删除其行首的#符号以启用。
基于PHP+MYSQL开发,除了网上书店必备的商品管理、配送支付管理、订单管理、会员分组、会员管理、查询统计和多项商品促销功能,还具有完整的文章、图文、下载、单页、广告发布等网站内容管理功能。系统具有静态HTML生成、UTF-8多语言支持、可视化模版引擎等技术特点,支持多频道调用不同模版和任意设置频道首页,适合建立各种规模的网上书店。系统具有以下主要功能模块: 网站参数设置 - 对网站的一些参数进
3、保存退出后,执行:sudo locale-gen,生成已启用的locale。
4、再次运行:locale -a | grep zh_CN.UTF-8,确认输出存在即表示生成成功。
四、临时设置当前会话语言
仅对当前终端会话生效,适合测试或调试,不影响系统全局配置。
1、执行命令:export LANG=zh_CN.UTF-8。
2、执行:export LC_ALL=zh_CN.UTF-8,覆盖所有LC_*子类变量。
3、运行:locale验证各变量是否已更新为zh_CN.UTF-8。
五、永久设置系统默认语言
通过修改系统级配置文件,使新用户及图形/终端会话默认使用指定语言环境。
1、Ubuntu/Debian系统:编辑/etc/default/locale,写入两行:LANG="zh_CN.UTF-8" 和 LC_ALL="zh_CN.UTF-8"。
2、CentOS/RHEL/AlmaLinux系统:执行命令:sudo localectl set-locale LANG=zh_CN.UTF-8。
3、Arch Linux系统:编辑/etc/locale.conf,写入单行:LANG=zh_CN.UTF-8。
4、重启终端或重新登录用户,执行locale确认生效;如使用图形界面,可能需要重启显示管理器或系统。









