热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统字符集配置问题及解决方案:深入探讨locale设置方法与常见错误修复

本文深入探讨了Linux系统中字符集配置的问题及其解决方案,重点介绍了`locale`设置的方法和常见错误的修复技巧。通过详细分析`locale`变量的配置,如`LANG`、`LC_COLLATE`、`LC_CTYPE`和`LC_MESSAGES`,帮助用户解决字符显示不正常、命令执行出错等问题,提升系统稳定性和用户体验。

本地

bash-3.2$ locale

LANG="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_CTYPE="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_ALL="en_US.UTF-8"

bash-3.2$ locale -a | grep "en_US.UTF-8"

en_US.UTF-8

# 登录mysql服务器后 可以正常输入中文

mysql> select '你好';

+--------+

| 你好 |

+--------+

| 你好 |

+--------+

服务器

# 奇怪 LANG和LC_ALL没有双引号

root@hg:~# locale

LANG=en_US.UTF-8

LANGUAGE=

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=en_US.UTF-8

# 奇怪 为什么是en_US.utf8 而不是en_US.UTF-8

root@hg:~# locale -a

C

C.UTF-8

en_US.utf8

POSIX

# 登录mysql服务器输入不了中文 '你好'不见了

mysql> select '

现在怀疑mysql命令行中输入不了中文与服务器字符编码有关 如何使得服务器可以和本地一样呢?



推荐阅读
author-avatar
爱她拿命换
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有