最近项目使用了tomcat部署在Linux系统上出现中文乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近项目使用了tomcat部署在Linux系统上出现中文乱码相关的知识,希望对你有一定的参考价值。

你好,通过Web创建目录时出现中文乱码,我的Linux系统默认语言如下:
[root@contos6 Web]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

[root@contos6 Web]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"

请问,你当时时怎么解决的呢? 我这都好几天了没有解决呢。

参考技术A 我觉得应该是在应用程序就乱码了,你应该检查下java程序那边。
tomcat默认的字符集是ISO-8859-1,你这里可能是在tomcat里面就乱码了。
要是怀疑是系统问题,可以先把tomcat部署到中文windows系统上试试,很容易就排除了。
参考技术B 您好,请问您解决了吗?现在我也被这个问题困扰着。。。

linux 环境下tomcat中部署jfinal项目

tomcat中部署jfinal项目

问题现象如下图

问题描述:

我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebapps目录下后,启动tomcat,服务器死活找不到工程目录。

然后我就郁闷了.............

分析运行环境:

本机:

系统  win7 64

tomcat 8.0.33

jdk版本 1.8.0_51

linux服务器:

系统   Linux version 2.6.32-431.el6.x86_64 

tomcat   7.0.72.0

java version "1.7.0_79"

 

问题分析:

首先由于之前jfinal-2.2 开发的项目在tomcat下是可以运行的,项目简称jf2。

这次开发用的是jfinal-3.0-bin-with-src,然后在tomcat下不能运行,项目简称jf3。

于是采用单变量分析法。

变量一   tomcat版本不同,其他相同

在linux服务器上安装tomcat 8  ,然后运行jf3不能运行

变量二   jfinal版本不同,其他相同

jf2和jf3项目均不能运行

变量三   jdk版本不同,其他相同

编译和运行环境统一,本机也采用jdk 7 的版本编译,结果jf2和jf3均能在服务器上进行运行。

 

结论:

  jdk版本不一致,导致编译后classes目录下文件无法被linux服务器上的容器解析

 

修正:

  经过后来的试验发现并不是jdk版本引起的,而是idea下面打成war包的时候莫名的会把公网的数据库连接语句注释掉,使用内网连接数据库语句,所以后来我修改war里面的配置文件就好了,其实是可以用jdk1.8进行编译的。

 

以上是关于最近项目使用了tomcat部署在Linux系统上出现中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

项目如何部署在linux系统上

把我的Java项目部署到Linux系统

linux 环境下tomcat中部署jfinal项目

Linux下tomcat服务器部署web项目

Linux Centos 7 系统中部署项目到Tomcat中无法访问

java项目怎么部署到linux服务器啊?