修改Tomcat运行时jvm编码问题

问题:

最近在部署项目的时候出现数据乱码的情况,经过一番查看项目都是用的UTF-8编码格式,数据也是,但是经过调用接口传给对方就乱码了。

由于是部署在Windows环境下,Windows默认编码GBK,这就导致了jvm运行时编码不一致的问题,修改也很容易。

解决办法:

Linux环境下如果使用的UTF-8编码,可以不用修改,因为Linux默认为UTF-8

war包部署在Tomcat

修改jvm编码

Linux环境

在catalina.sh配置

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"

由于Windows环境下默认的编码格式为GBK,所以要修改Tomcat运行时编码格式。

Windows环境

在catalina.bat配置

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

如果是jar包部署,只需要在启动命令加入jvm参数即可。

jar包部署

启动命令加入jvm参数

java -Dfile.encoding=UTF-8 -jar xxx.jar

总结

以上所述是小编给大家介绍的修改Tomcat运行时jvm编码问题,希望对大家有所帮助!

(0)

相关推荐

  • JVM Tomcat性能实战(推荐)

    本节只是介绍实战部分,具体的理论参数,请自行百度. 所需工具:linux服务器  Jmeter测试工具  xshell   一个web应用 Tomcat的JVM参数可以配置在catalina.sh,如果是在window上可以配置.bat文件 配置1: 这里 我配置了一个gc日志路径为/home/log/gc.log ,打印gc的日志,初始堆和最大堆内存设置为50M,输出Dump文件在内存溢出的时候 ,使用串行垃圾收集器,永久代大小为50m. 将web应用放到对应的目录,配置好server.xml

  • Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突

    前言: 最近朋友遇到在安装并启动Tomcat 6.0时,发现一直无法正确启动,主要异常堆栈信息如下: 严重: StandardServer.await: create[8005]: java.net.BindException: Cannot assign requested address: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainS

  • 修改Tomcat运行时jvm编码问题

    问题: 最近在部署项目的时候出现数据乱码的情况,经过一番查看项目都是用的UTF-8编码格式,数据也是,但是经过调用接口传给对方就乱码了. 由于是部署在Windows环境下,Windows默认编码GBK,这就导致了jvm运行时编码不一致的问题,修改也很容易. 解决办法: Linux环境下如果使用的UTF-8编码,可以不用修改,因为Linux默认为UTF-8 war包部署在Tomcat 修改jvm编码 Linux环境 在catalina.sh配置 JAVA_OPTS="$JAVA_OPTS -Dfi

  • 详解Tomcat中查看JVM内存使用情况

    TOMCAT运行时,实时监控当前应用JVM的使用情况:可以利用Tomcat自带的应用manager查看详情. 首先,确认服务目录webapps下有manager应用 其次,需要创建角色manager和对应的用户,修改/conf/tomcat-users.xml  <?xml version='1.0' encoding='utf-8'?>   <tomcat-users>     <role rolename="tomcat"/>     <r

  • Windows 下修改Tomcat jvm参数的方法

    目录 一.设置Windows服务自动启动方式修改 1.注册表修改 2.修改TomcatW.exe 二.运行“startup.bat”启动修改 一.设置Windows服务自动启动方式修改 修改注册表或者修改运行tomcatW.exe出来的“Java”选项都行 1.注册表修改 运行:regedit 找到: (64位操作系统)HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Pa

  • 详解Java虚拟机(JVM)运行时

    JVM(Java虚拟机)是一个抽象的计算模型.就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域.目的是为构建在其上运行的应用程序提供一个运行环境.JVM可以解读指令代码并与底层进行交互:包括操作系统平台和执行指令并管理资源的硬件体系结构.本文主要介绍Java虚拟机(JVM)运行时详解. 我们知道的JVM内存区域有:堆和栈,这是一种泛的分法,也是按运行时区域的一种分法,堆是所有线程共享的一块区域,而栈是线程隔离的,每个线程互不共享. 线程不共享区域 每个线程的数据区域包括

  • AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值

    在"AngularJS中自定义有关一个表格的Directive"中自定义了一个有关表格的Direcitve,其表格的表现方式是这样的: <table-helper datasource="customers" clumnmap="[{name: 'Name'}, {street: 'Street'}, {age: 'Age'}, {url: 'URL', hidden: true}]"></table-helper> 以上

  • 修改Tomcat服务器默认端口号的实现方法

    修改Tomcat服务器默认端口号的实现方法 一 修改方法 修改D:\apache-tomcat-7.0.81\conf\server.xml文件如下 二 测试 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • linux修改tomcat默认访问项目的具体步骤(必看篇)

    tomcat服务器的默认访问路径是webapps目录下的ROOT.如果更改tomcat服务器下的默认访问工程,需要修改tomcat/conf/server.xml配置文件. 打开server.xml可以找到类似下面的配置: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="fal

  • 如何修改tomcat默认端口号8080的方法

    1.背景 在默认情况下,tomcat的端口是8080,使用了两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作. 2.方法 2.1改动一 那么,如何修改tomcat的端口号呢?首先到安装目录(或者解压目录)下找到conf文件夹,在里面找到server.xml的文件, 找到 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redire

  • linux系统中修改tomcat默认输入日志路径的方法

    1.修改catalina.sh 进入tomcat安装目录/bin,找到catalina.sh,先进行备份. 对本地的catalina.sh进行修改,这里是以将日志目录修改为/data/logs为例,即将$CATALINA_BASE/logs/catalina.out改为CATALINA_OUT=/data/logs. 2.修改logging.properties 进入tomcat安装目录/conf/,找到logging.properties,先进行备份. 对本地的logging.properti

  • 如何修改tomcat项目的图标(两种)

    我们在查看网页的时候很多网站都有自己的小图标,系统读取这个标志的时候先从你的项目的根目录下读看有没有favicon.ico文件,如果有直接显示这个图标,如果没有,则会去webapps/root/下找这个文件,如果这两个地方都没有,则就显示IE图标. 一种形式是修改页面 <link rel="shortcut icon" href="favicon.ico" rel="external nofollow" type="image/x

随机推荐