Tomcat日志中文乱码怎么解决?

   linux系统中文语言乱码,是很多小伙伴在开始接触linux时经常遇到的问题,而且当我们将已在wndows部署好的项目搬到linux上运行时,tomcat的输出日志中文全为乱码(在windows上正常),看着非常心塞,那么我们应该怎么解决呢?

  Tomcat日志中文乱码怎么解决?

               系统中文乱码

Tomcat日志中文乱码怎么解决?

                Tomcat输出日志中文乱码

 系统环境

CentOS 7.0 64位

jdk-8u11-linux-x64.

apache-tomcat-8.5.16

     解决步骤:

   1.安装中文语言包  

        先查看系统是否有安装中文语言包  

       # locale -a  (列出所有可用的公共语言环境的名称)

        Tomcat日志中文乱码怎么解决?

                     若发现以上几项,说明系统已安装中文语言包,无需再安装,那这几项代表什么意思呢?

        {语言代号}_{国家代号}.{字符集}

        zh是中文的代号、CN是中国的代号、gb18030,gb2312,utf8是语言字符集

        那么每一项可以通俗理解为   “你是说中文的,你在中国,语言字符集是gb18030/gb2312/utf8”

        如果没有发现以上几项,则手动安装中文语言包

       # yum install kde-l10n-Chinese            (大概11M)

   2.修改i18n国际化和locale.conf本土化配置文件

      在修改配置文件之前,我们先看看当前系统语言环境

                        #    locale  

       Tomcat日志中文乱码怎么解决?   

 (“en_US.UTF-8″按照上面的内容可以理解为“你说英语,你在美国,语言字符集为UTF-8”) 

            每项的意思分别为 :

       LANG:当前系统的语言

                    LC_CTYPE:语言符号及其分类

       LC_NUMERIC:数字

       LC_COLLATE:比较和排序习惯

       LC_TIME:时间显示格式

       LC_MONETARY:货币单位

      LC_MESSAGES:信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等

      LC_NAME:姓名书写方式

      LC_ADDRESS:地址书写方式

      LC_TELEPHONE:电话号码书写方式

      LC_MEASUREMENT:度量衡表达方式

        LC_PAPER:默认纸张尺寸大小

        LC_IDENTIFICATION:对locale自身包含信息的概述

     LC_ALL:优先级最高变量,若设置了此变量,所有LC_* 和LANG变量会强制跟随它的值

     我们看到虽然安装了中文语言包但本机的语言环境并不是中文,先修改i18n配置文件

     #    vim /etc/sysconfig/i18n

      添加如下两行代码

      LANG=”zh_CN.UTF-8″
      LC_ALL=”zh_CN.UTF-8″

     Tomcat日志中文乱码怎么解决?

    #  source    /etc/sysconfig/i18n

    再修改 locale.cnf配置文件

    #   vim /etc/locale.conf

              LANG=”zh_CN.UTF-8″

      Tomcat日志中文乱码怎么解决?

              #  source   /etc/locale.conf

     重启系统

     # reboot

  3.设置终端连接编码

     文件->打开->选中会话->右键->属性->终端 (我用的终端连接工具是Xshell,其它连接工具更改编码方式请自行百度)

     将编码改为 UTF-8

Tomcat日志中文乱码怎么解决?

     重新连接,再查看当前系统语言环境

      # locale 

                    Tomcat日志中文乱码怎么解决?

文心快码 文心快码

文心快码(Comate)是百度推出的一款AI辅助编程工具

文心快码 35 查看详情 文心快码

     发现系统语言环境已经成功改为 “zh_CN.UTF-8”

     再次尝试编辑中文

     # vim 你是猪吗

     Tomcat日志中文乱码怎么解决?

      #  ls

     Tomcat日志中文乱码怎么解决?

     SUCCESS!至此,系统中文乱码问题已解决。

  4.解决Tomcat输出日志乱码

  既然系统中文乱码已经解决了,那么Tomcat输出日志中文乱码会不会也解决了呢?

  我们现在看看Tomcat输出日志  

  进入Tomcat目录

      # cd $CATALINA_HOME

     #  tail -f ./logs/catalina.out

      Tomcat日志中文乱码怎么解决?

  很遗憾,Tomcat日志中文还是乱码。

  分析:既然系统已经不会出现中文乱码,证明系统语言环境是正常的,但是Tomcat日志还会出现中文乱码,说明是Tomcat内部的问题,网上查了一些资料,知道是JVM(Java Virtual Machine)

     java虚拟机所用的字符集与系统所用的字符集不一致造成的,知道原因,问题就好解决了,可以通过配置JVM的启动参数来达到修改JVM所使用字符集的目的。

       # ls -l ./bin/

      Tomcat日志中文乱码怎么解决?

  找到 daemon.sh 和 catalina.sh   分别加入以下代码:

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

      # vim ./bin/daemon.sh

     Tomcat日志中文乱码怎么解决?

     # vim ./bin/catalina.sh

  Tomcat日志中文乱码怎么解决?

  保存退出,重启Tomcat

  # ./bin/shutdown.sh

    # ./bin/startup.sh

 现在再查看输出日志

   # tail -f ./logs/catalina.out

  向服务器发一次请求

Tomcat日志中文乱码怎么解决?

以上就是Tomcat日志中文乱码怎么解决?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/287557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 19:06:20
下一篇 2025年11月4日 19:07:52

相关推荐

  • css 什么语言

    CSS是一种用来表现HTML或XML等文件样式的计算机语言,是能够真正做到网页表现与内容分离的一种样式设计语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 本教程操作环境:windows7系统、CSS3版、Dell G3电脑。 CSS是什么语言? CSS是一种…

    2025年12月24日
    000
  • 如何保持文本格式不变

    要保持文本格式不变,需根据需求选择合适格式:若需保留视觉与布局,使用PDF或.docx;若为纯文本或代码,应选用UTF-8编码的纯文本文件,并用专业编辑器处理,避免隐藏格式与乱码。 要保持文本格式不变,核心在于理解“不变”的语境是什么,以及你所处理的文本是“富文本”还是“纯文本”。通常,这意味着你需…

    2025年12月22日
    000
  • 揭秘HTTP状态码的语言奥秘

    HTTP状态码是网页开发中经常遇到的概念。它们以三位数字的形式出现,用于指示特定HTTP请求的处理结果。这些状态码不仅包含了基本的信息,还蕴含着一种语言的奥秘。本文将深入揭秘HTTP状态码的语言奥秘。 首先,我们要理解HTTP状态码是如何工作的。当客户端发送一个HTTP请求给服务器时,服务器会根据请…

    2025年12月22日
    000
  • 揭示的语言之谜:HTTP状态码

    HTTP是现代计算机网络中最常用的协议之一,而其中的状态码则是HTTP通信过程中非常重要的一部分。通过状态码,服务器可以向客户端传递各种信息,包括请求成功与否、请求重定向、请求错误等。尽管状态码只是简单的3位数字,但它们背后隐藏着许多语言之谜。 首先,我们来探索一下HTTP状态码的基本分类。按照类别…

    2025年12月22日
    000
  • 揭秘HTTP状态码的含义

    HTTP状态码是用于表示HTTP请求的结果的三位数字代码。这些状态码由HTTP协议规定,并且在与服务器进行通信时,它们扮演着非常重要的角色。尽管每个状态码都有其特定的含义,但是很少有人知道这些代码背后隐藏的深意和故事。本文将探秘HTTP状态码背后的语言之谜。 首先,我们来了解一下最常见的HTTP状态…

    2025年12月22日
    000
  • 掌握Canvas的跨语言兼容性

    随着互联网的快速发展,Web技术也在不断更新与演进。其中,HTML5标准的制定对于Web开发者来说,无疑是一个重大的进步。而HTML5的一个重要特性就是Canvas元素,它提供了一种使用JavaScript脚本进行绘制图形的方法。作为一个具有强大绘图功能的元素,Canvas在Web开发中越来越受到开…

    2025年12月21日
    000
  • 如何解决html乱码问题

    在html中,可以通过在head节点加入meta标签,匹配好html文件的编码格式来解决html乱码问题,语法格式“”。 本教程操作环境:windows7系统、HTML5版、Dell G3电脑。 HTML文件乱码一般是因为编码格式不匹配造成的,只要匹配好html文件的编码格式就可。 下面是一个中文乱…

    2025年12月21日
    000
  • html是一种页面什么型语言?

    html是一种页面“描述”型语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 (推荐教程:html教程) html是一种页面“描述”型语言。 HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标…

    2025年12月21日
    000
  • HTML的语言编码有哪些

    在html里,编码可导致浏览者通过ie时候网页乱码,也可以导致div+css的兼容性hack,编码非常的重要,一般编码的位置放在html网页中的head>和中间。今天我们就介绍一下关于编码的知识。 一般这段网页编码放在html网页中的 和中间。 html编码样式 通过改变charset=utf…

    好文分享 2025年12月21日
    000
  • html规定元素内容的语言属性lang

    实例 段落中的一些法文: Ceci est un paragraphe. 浏览器支持 所有浏览器均支持 lang 属性。 定义和用法 lang 属性规定元素内容的语言。 提示和注释 注释:lang 属性在以下标签中无效:, , , set>, , 以上就是html规定元素内容的语言属性lang…

    好文分享 2025年12月21日
    000
  • c语言是一种什么编译形式的语言

    什么是编译模式? 编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式(编译模式)以后,语言编译程序将按事先选择好的内存模式编译组织程序。 C语言中提供了6种编译模式,这6种模式是:微模式(Tiny),小模式(Small),中模式(Medium…

    2025年12月17日
    000
  • 使用C语言怎样清空输入缓冲区?这里有多种方法值得借鉴

    C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 char *fgets(char * restrict s, int n, FILE * restr…

    好文分享 2025年12月17日
    000
  • XML编码问题如何处理?如何避免乱码?

    答案:处理XML乱码需确保文档声明、文件编码和解析方式统一。首先在XML首行正确声明encoding属性,推荐使用UTF-8;其次编辑器保存时必须与声明一致,避免GBK或UTF-8带BOM导致问题;最后程序解析时应显式指定编码,如Python的ET.parse()或Java的InputStreamR…

    2025年12月17日
    000
  • 如何用python写2048

    答案:2048游戏核心是4×4网格合并数字,通过初始化、移动合并、随机生成数字和判断胜负实现。使用NumPy处理数组,命令行交互控制方向,每次移动后添加新数字,无法移动时结束游戏。 2048 是一个经典的滑动数字合并游戏,用 Python 实现它并不复杂。我们可以使用 NumPy 处理二维数组逻辑,…

    2025年12月14日
    000
  • centos7如何安装pip

    centos7安装pip的方法:1、打开终端,输入“sudo yum update”命令以更新yum软件包列表,输入“sudo yum install python-pip”命令以安装pip,最后验证pip是否已经安装成功;2、打开终端,使用wget命令下载“get-pip.py”脚本文件,在终端中…

    2025年12月13日
    000
  • php文字乱码怎么解决_php中文及多语言乱码问题的解决方法

    答案:PHP乱码需统一UTF-8编码。1. PHP文件保存为UTF-8无BOM;2. 添加header(“Content-Type: text/html; charset=utf-8”);3. 数据库用utf8mb4,连接时设置charset;4. 页面加,表单提交保持编码一…

    2025年12月12日
    000
  • CentOS7下怎么部署php7.1和开启MySQL扩展

    简单安装(yum方式) 安装软件源 添加epel源 [root@opstrip.com opt]# rpm –import /etc/pki/rpm-gpg/rpm-gpg-key*[root@opstrip.com opt]# rpm -uvh http://mirrors.rit.edu/fe…

    2025年12月4日
    000
  • Centos7怎么配置Mysql多主一从

    业务场景: 公司几个主要的业务已经独立,放在不同的数据库服务器上面,但是有一个业务又需要关联多个业务库进行联合查询统计。这时候就需要将不同的业务库数据同步到一台从库进行统计。根据mysql主从同步原理使用多从一主的方案解决。主库使用innodb引擎,从库开启多实例使用myisam引擎并将多个实例的数…

    2025年12月3日
    400
  • 解决MYSQL中文乱码问题三种方法

    解决MYSQL中文乱码问题三种方法

    数据库 2025年12月2日
    000
  • Centos7下MySQL安装教程_Mysql

    这篇文章主要为大家详细介绍了centos7下mysql安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 MySQL安装教程,供大家参考,具体内容如下 1.下载 去官网下载Yum源:地址 2.安装 rpm -ivh mysql57-community-release-el7-11.noarc…

    2025年12月2日 数据库
    000

发表回复

登录后才能评论
关注微信