文档章节

linux centos6中文乱码思路梳理

大白来袭
 大白来袭
发布于 2017/02/19 15:34
字数 761
阅读 199
收藏 0

在linux环境下操作,经常遇到中文乱码的情况,下面整理下自己遇到问题的解决思路:

出现位置:tomcat日志;

出现效果:中文显示问号:

解决思路:

1、输入echo $LANG打印当前使用的系统语言,或输入locale直接查看全部:

LANG=en_US.UTF-8    // LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
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"    //提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
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"    //对locale自身包含信息的概述
LC_ALL=    //它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

如果没有需要安装,需要下载安装。

(1)、安装所有与中文支持相关的包

# yum -y groupinstall chinese-support

(2)、修改字符编码配置文件

# vi /etc/sysconfig/i18n

修改后内容如下:

LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"

SYSFONT="latarcyrheb-sun16"

区分en_US.UTF-8与zh_US.UTF-8,分别默认显示为英文和中文模式。

2、排除系统语言后,查看终端的设置:

例如xshell,属性>终端>编码一项,是否设置为Uncod(UTF-8)

3、上述都没有问题后,考虑tomcat自身的设置:

在tomcat>bin>catalina.sh(window环境查看catalina.bat)文件中,echo "Using CATALINA_BASE:   $CATALINA_BASE"前面加上:

JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"

重新启动tomcat,再观察日志的中文显示情况

4、上述都操作过后还是存在中文问题,那么就要考虑项目本身,例如:

(1)数据库的编码;

(2)打包前请检查文件的编码;

 

上述操作没有顺序,可根据猜测去试图查看。操作中,比较支持在同一步骤相同环境下多个项目或服务器比对的方式,找到问题的速度会更快...

 

 

© 著作权归作者所有

大白来袭
粉丝 4
博文 41
码字总数 13667
作品 0
海淀
程序员
私信 提问
通过Docker部署Linux版SqlServer

版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/82884538 很多人不知道SqlServer还有Linux版的,微软官方于2016年...

smooth00
2018/09/28
0
0
matplotlib解决中文乱码

Windows下 Linux下 由于Matplotlib只支持ttf字体,Linux的中文字体都为ttc格式,所以需要安装一个中文ttf字体,所以只要下载一个中文ttf格式的字体放在usr/share/fonts下,然后将配置文件修改...

王诗翔
03/13
0
0
msysgit 中文乱码问题解决方法

msysgit安装好后处理中文是有问题的:ls中文目录/文件名乱码;提交中文的log,push到服务器上会乱码;git log查看服务器pull过来的log乱码。 1、ls命令列出的中文目录/文件名正确显示解决方法...

lieefu
2015/07/01
139
0
perl脚本中的中文注释乱码

现系统是Linux Mint Debian Edition 2。现需要用到一个重要的perl脚本,内有大量中文注释,但都乱码。据了解这个脚本原是在linux中编写的,后来曾转为gb2312,再后来在linux中就乱码了,文件...

RegentW
2016/05/12
437
3
Linux操作系统的终端乱码解决方案介绍

初入linux的程序员们,经常会受到乱码的问候。可谓“始乱终弃”。因为乱码,并且最终放弃了linux的不在少数。好吧,言归正传,先看看各类乱码是怎么形成的。 中文字符乱码 这种情况一般是安装...

zt371
2009/05/08
305
0

没有更多内容

加载失败,请刷新页面

加载更多

作为一个(IT)程序员!聊天没有话题?试试这十二种技巧

首先呢?我是一名程序员,经常性和同事没话题。 因为每天都会有自己的任务要做,程序员对于其他行业来说;是相对来说比较忙的。你会经常看到程序员在发呆、调试密密麻麻代码、红色报错发呆;...

小英子wep
今天
17
0
【SpringBoot】产生背景及简介

一、SpringBoot介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要...

zw965
今天
5
0
简述并发编程分为三个核心问题:分工、同步、互斥。

总的来说,并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共...

dust8080
今天
6
0
OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3.5K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部