Linux (centos)中文乱码问题解决 及说明

这篇具有很好参考价值的文章主要介绍了Linux (centos)中文乱码问题解决 及说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 首先要区别3个概 :编码集、字符集、字体 是完全不同的东西,我们要解决的是字符集问题。

当一个系统初始化完毕后,会生成一个 /usr/lib/locale/locale-archive 文件,这个是字符集二进制文件,是系统不同语言运行的核心,通过命令 locale -a 可以看到当前文件中支持的语言

locale 命令可以看到当前的字符集情况

Linux (centos)中文乱码问题解决 及说明

 由于网络上充斥着大量垃圾信息(缺乏理论说明的解决方案),这里需要详细解释一下。

这里的POSIX是系统自带的,也就是C语言,对于其他语言 (eg. zh_CN.UTF-8),可以通过如下命令生成到/usr/lib/locale/locale-archive文件中:

localedef -i zh_CN -f UTF-8 zh_CN.UTF-8

此处代表的含义是: 通过UTF-8编码格式,对zh_CN进行编码,生成zh_CN.UTF-8字符集,这里的zh_CN可以通过如下命令查看:

Linux (centos)中文乱码问题解决 及说明

(可以看到有 ca_ES en_US等很多文件夹,所有命令中 zh_CN可以改成这里任意文件夹名)

到这里,通过locale -a |grep zh_CN 确认了我们系统支持了中文的能力

Linux (centos)中文乱码问题解决 及说明

 通过 fc -list确认我们支持当前系统支持的字体

Linux (centos)中文乱码问题解决 及说明

没有则向fonts传输就好(yum安装就不说了,常规字体基本都没有问题)

对于系统已经支持中文的条件下,只需要选择对就行了

网络上有很多帖子建议修改 /etc/environment 、/etc/profile、~/.bash_profile 、甚至 rc.local等

这些东西都不建议去设置,centos7专门设置了 /etc/locale.conf文件

回到locale命令

Linux (centos)中文乱码问题解决 及说明

执行该命令后,所有选项都是"POSIX"后,对 /etc/locale.conf 进行编辑,输入 LC_CTYPE=zh_CN.UTF-8 后刷新,命令如下:

echo "" > /etc/locale.conf
echo "LC_CTYPE=zh_CN.UTF-8"> /etc/locale.conf
source /etc/locale.conf

 此时 中文乱码问题就解决了。那么为什么不去不更改其他选项呢?或者直接将LANG 改成zh_CN.UTF-8呢,这里要弄清每一个参数的含义:

参数 说明
LANG 当其他参数没有指定的时候,就指定为该值
LC_CTYPE 语言符号和分类(可以看到这正是我们需要修改的)
LC_NUMERIC 数字格式,一般不用更改
LC_TIME  时间格式,直观影响就是date命令的输出
LC_COLLATE  排序的习惯规则,一般也不用修改
LC_MONETARY 货币单位,这个对于服务器来说,没有修改必要
LC_MESSAGES 提示信息,如安装软件,出现提示之类,无关紧要,用命令行的人总会点英语
LC_NAME 姓名书写方式
LC_ADDRESS 地址书写方式
LC_TELEPHONE 电话书写方式
LC_MEASUREMENT 度量衡表达方式,不用关系,几磅几磅之类
LC_PAPER 纸张大小
LC_IDENTIFICATION 对locale自身包含信息的概述
LC_ALL 覆盖其他参数的值

通常我们要做的就仅仅是改变LC_CTYPE就可以,如果是简单机器下这里的任意一项都可以很方便的修改,但是如果复杂第一点,则很容易出现 setlocale: 错误或警告文章来源地址https://www.toymoban.com/news/detail-465964.html

到了这里,关于Linux (centos)中文乱码问题解决 及说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux C.UTF-8和en-US.UTF-8语言环境有什么区别?(中文乱码问题)locale命令 centos、ubuntu修改编码集(没搞定!)

    我在ubuntu16.04虚拟机和英伟达盒子ubuntu18.04上分别部署了ngrest服务 用postman请求,ubuntu16.04虚拟机返回的中文是乱码,英伟达盒子ubuntu18.04不是乱码 用vi打开文件,ubuntu16.04虚拟机显示中文不是乱码,英伟达盒子ubuntu18.04是乱码 我用 echo $LANG 命令查看发现(或者直接用 locale 命令

    2024年02月06日
    浏览(50)
  • 问题杂谈(三十五)Linux中文乱码问题

    如下,系统的中文描述是乱码 输入 locale ,如有zh cn 表示已经安装了中文语言 如果没有,通过 yum groupinstall chinese-support 下载 临时更换语言:输入 LANG=\\\"en_US.UTF-8\\\" 系统设置: 编辑文件: vi ~/.bashrc 添加内容: LANG=\\\"en_US.UTF-8\\\" 设置生效: source ~/.bashrc

    2024年02月11日
    浏览(34)
  • 解决Linux 中文乱码

    1、可以修改/etc/profile文件 修改/etc/profile文件,在最下面增加 vi etc/profile export LC_ALL=zh_CN.utf8 export LANG=zh_CN.utf8(命令行中使用命令 source 下配置文件,使其生效) 2、修改/etc/locale.gen文件 vi etc/locale.geni #en_sG IS0-8859-1 en_uS.UTF-8 UTF-8 #en_Us ISO-8859-1 locale-gen(生效命令,将注释打开即

    2024年02月16日
    浏览(52)
  • 解决hive表中文乱码问题

    使用的mysql版本:Server version: 5.7.31 现象描述:字段名称和字段描述等存储进如hivemetastore是中文,查询出来也是???等无法识别的中文乱码; 中文乱码的情况分为两种情况: 新建hive集群防止中文乱码 已有的hive集群中文乱码的纠正 在构建hive开发环境的时候,需要实现构建号

    2024年02月09日
    浏览(41)
  • 简单解决jsp中文乱码问题

    初学jsp制作一个简单的响应页面 具体代码如下: 保存为test.jsp文件,启动tomcat访问,出现下图: 在框内输入:vae 出现下图: 可是\\\"username\\\"看起来实在不舒服,决定将它改成\\\"用户名\\\" 这时问题出现: 本该出现\\\"用户名\\\"的地方出现了一串乱码: 所谓响应中的乱码,就是显示页面

    2024年02月16日
    浏览(51)
  • Debian系统解决中文乱码问题

    、安装locales apt-get install locales 2、设置语言选项 dpkg-reconfigure locales 选择如下四项:     zh_CN GB2312     zh_CN.GBK GBK     zh_CN.UTF-8 UTF-8     en_US.UTF-8 UTF-8 回车然后选择zh_CN.UTF-8 3、查看语言设置 locale 确保LANG=zh_CN.UTF-8 如何不是,执行export LANG=zh_CN.UTF-8 设置环境变量(临时设置

    2024年02月09日
    浏览(48)
  • VScode注释中文时乱码怎么办?VScode中文注释乱码问题的解决方法

    不管是在哪一种编辑器上,都会有自动默认的一种编码格式,在vscode编辑器中默认的编码格式是utf-8,但是在注释的时候,因为使用的字符会不一样,所以可能存在着默认的配置文件,有可能是其他的编码格式,所以因为编码格式不对应,导致了在注释的时候出现了乱码的情

    2024年02月11日
    浏览(59)
  • SpringBoot中文乱码问题解决方案

    在Spring Boot中,确实没有像传统Web应用程序中需要使用web.xml配置文件。对于中文乱码问题,你可以采取以下几种方式来解决: 在application.properties文件中添加以下配置: 这里将字符集设置为UTF-8,并启用了HTTP编码配置。 如果你使用的是Spring Boot 2.x版本,可以尝试在pom.xml文件

    2024年02月04日
    浏览(40)
  • 快速上手VUE:中文乱码问题解决

            吾有一友,名为小帅。         某天早晨,我正学习、试用API,他路过:         小帅:“咱这皮毛都没的Chinglish水平,还写全英文的?中文整上啊!”         几分钟后,满屏乱码......         我:         按照经验,首先怀疑网页设置有问

    2024年02月15日
    浏览(39)
  • 解决hive建表中文乱码问题

    一、解决hive建表中文乱码问题 问题: 关于中文乱码问题,我们可以从以下几个方面进行考虑: (1)判断hive表的存储格式是否是UTF-8: 如果hive表的存储格式不是UTF-8,也会导致中文乱码。 (2)判断输入的数据,其编码格式是否是中文字符集UTF-8: hive默认使用UTF-8编码,如

    2024年02月14日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包