eclipse 部署与手动部署项目,出现乱码

问题描述:    
  用maven建立好一个web项目,并用eclipse中的Servers部署项目时,项目正常。但当我将该项目导成war包,再进行部署时,却出现了乱码。
 java

处理: linux

在catalina.bat 文件开始的部分 添加 
set JAVA_OPTS= %JAVA_OPTS% -Dfile.encoding=utf-8web

但tomcat doc控制台的输出却出现了乱码windows

缘由:tomcat

-Dfile.encoding=utf-8 会致使cmd模式乱码,因此windows下不要用-Dfile.encoding=utf-8。
~若是你用这个参数解决了你的程序问题,说明你程序里面解析时没有设置编码,好比new String,getBytes等,设置下就OK了。
-Dfile.encoding=utf-8是解决java默认编码问题,在windows下是gbk,但在linux下是utf-8是会正常的eclipse

-----------------maven

-Dfile.encoding解释:
在命令行中输入java,在给出的提示中会出现-D的说明:
-D=
               set a system property
-D后面须要跟一个键值对,做用是设置一项系统属性
对-Dfile.encoding=UTF-8来讲就是设置系统属性file.encoding为UTF-8
那么file.encoding什么意思?字面意思为文件编码。
搜索java源码,只能找到4个文件中包含file.encoding的文件,也就是说只有四个文件调用了file.encoding这个属性。
在java.nio.charset包中的Charset.java中。这段话的意思说的很明确了,简单说就是默认字符集是在java虚拟机启动时决定的,依赖于java虚拟机所在的操做系统的区域以及字符集。
代码中能够看到,默认字符集就是从file.encoding这个属性中获取的。编码

相关文章
相关标签/搜索