You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 16.04.1法语系统无中文却显示中文时间戳问题求助

问题原因与修复方案

我之前也碰到过类似的locale配置问题,咱们一步步来拆解:

问题根源

这是因为系统的**区域设置(locale)**中,负责时间日期显示的LC_TIME变量被错误设置成了中文locale(比如zh_TW.UTF-8zh_CN.UTF-8)。哪怕你没安装完整的中文语言包,时间日期的本地化字符串文件体积很小,可能在系统默认安装时就附带了,所以只要LC_TIME指向中文locale,系统就会用中文显示星期、月份和文件时间戳——这和时区设置无关,所以改时区也解决不了问题。

修复步骤

1. 先确认当前locale配置

打开终端执行以下命令,查看LC_TIME的具体值:

locale

如果输出里LC_TIMEzh_TW.UTF-8或者其他中文相关的locale,就验证了我们的判断。

2. 临时修复(重启后失效)

直接在终端执行以下命令,把LC_TIME改成法语locale:

export LC_TIME=fr_FR.UTF-8

现在再执行ls -lhcal命令,应该就能看到法语的时间日期显示了。

3. 永久修复(重启后依然生效)

有两种方式可以实现永久生效:

方式一:编辑系统locale配置文件

用文本编辑器打开/etc/default/locale(需要sudo权限):

sudo nano /etc/default/locale

把文件内容修改为以下内容(确保所有locale项都指向法语):

LANG=fr_FR.UTF-8
LC_ALL=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8

保存退出后,执行以下命令让配置立即生效,或者直接重启系统:

source /etc/default/locale

方式二:用系统配置工具重新生成locale

执行以下命令打开locale配置向导:

sudo dpkg-reconfigure locales

在弹出的界面中:

  • 先选中fr_FR.UTF-8(如果没被选中的话),按空格键标记,然后按回车确认;
  • 接下来选择fr_FR.UTF-8作为默认系统locale,按回车完成配置。

4. 检查用户级配置是否冲突

有时候用户的~/.bashrc~/.profile或者~/.bash_profile文件里会有手动设置LC_TIME的语句,导致系统配置被覆盖。可以打开这些文件检查,如果有类似export LC_TIME=zh_TW.UTF-8的行,删掉或者改成fr_FR.UTF-8即可。

5. 补充:确保法语locale已生成

如果上述步骤没生效,可能是法语locale没正确生成,执行以下命令强制生成:

sudo locale-gen fr_FR.UTF-8

完成后再重新执行步骤3的配置即可。

内容的提问来源于stack exchange,提问作者Motiss

火山引擎 最新活动