zoukankan      html  css  js  c++  java
  • tomcat 控制台乱码问题

                环境:win7 + tomcat 8.5

                问题描述:web端一切正常,不管是返回页面的数据还是控制台打印的日志,都没乱码,给app提供的api接口返回乱码,然后就去百度,像什么 在tomcat的service.xml中修改编码的,那种可以直接忽略了

    从来没有灵验了,然后就是修改catalina.bat 这个文件,加入utf8的编码(可自行百度),然后返回给api接口的数据不乱码了,但是tomcat控制台开始乱码,于是乎,又百度,然后分为两种解决办法:第一种是

    如果用的eclipse或者ide这种开发工具,可通过设置 一直有 VM Options 这个属性,加入 -Dfile.encoding=UTF-8 进行解决,可百度的到,然后我的并么有解决,而且这种只是通过开发工具启动tomcat有用,第二种通过修改系统的utf编码;

    2019年3月21日12:01:07 更新

               乱码究其原因是编码问题,下面将win10下  解压版的tomcat8.5 的乱码问题解决方法列出来。

              1  bin目录下的catalina.bat 文件,set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" 改为 

               set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"

               2 conf目录下的logging.properties的文件中,修改或加入

                  java.util.logging.ConsoleHandler.encoding = UTF-8

               3 修改windows运行窗口的编码为utf-8

                 https://juejin.im/post/5bb23cc15188255c5121d499

    至此,所有编码都已经改为了utf-8,乱码问题解决。

    说一点:以上方法不适用所有的,具体要根据系统编码进行改变。

    tomcat conf/server.xml文件中的编码,要使用urf-8,因为这个是用来和前台页面传至交互的接口。

    catalina.bat是tomcat窗口,输出程序日志的编码

    loggin文件中的编码,是tomcat本身的日志信息编码,比如tomcat的启动信息。

  • 相关阅读:
    MySQL my.cnf详解
    函数:sleep-exit-wait
    fork-小实验
    OS-进程调度
    CET-4流程
    SDK和API的区别
    生活-金钱管理-不是理财
    算法设计与分析:Strassen矩阵乘法
    力扣:二进制加法求和
    算法设计与分析:大整数乘法
  • 原文地址:https://www.cnblogs.com/sanduweiliangxtx/p/10178731.html
Copyright © 2011-2022 走看看