我们项目的开发是在windows下完成的。

然后导出.sql数据库文件,并导出war包,准备部署到linux下的tomcat服务器上。

部署完成出现中文问题:

问题描述:

1.数据库中原有的数据都能正常显示

2.页面显示读取出来出现乱码

问题的解决过程:

考虑流程:1、数据库存储格式,索引的格式编码 2、项目的文件编码  3、浏览器(tomcat部署编码格式)

一、项目中默认编码设置是UTF-8

二、项目开发环境Eclipse的编码方式是UTF-8(确保代码中的中文显示正常)

三、Tomcat配置:

更改两个文件的配置

1.server.xml(添加红色部分)

URIEncoding="UTF-8" />

2.web.xml

setCharacterEncodingFilter

org.apache.catalina.filters.SetCharacterEncodingFilter

encoding

UTF-8

true

默认tomcat7中上面这段代码在注释中,把它注释去掉。

重启tomcat使配置生效。

四、mysql配置

1.修改mysql默认配置:

默认的mysql配置:server、client都是latin1,对中文是不支持的,这里改为utf8

方法:

修改配置文件:

#vim /etc/mysql/my.cnf

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

重启mysql

/etc/init.d/mysql restart

检查编码方式:

mysql> show variables like 'char%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | utf8                       |

| character_set_connection | utf8                 |

| character_set_database   | latin1               |

| character_set_filesystem | binary               |

| character_set_results    | utf8                      |

| character_set_server     | utf8                       |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

2.修改项目使用的数据库的配置

修改此数据库的编码方式为utf8(默认是latin1)

mysql> alter database 数据库名 character set utf8;

查看此数据库的编码:

mysql> status

Connection id:        41

Current database:    tslcrms

Current user:        root@localhost

SSL:            Not in use

Current pager:        stdout

Using outfile:        ''

Using delimiter:    ;

Server version:        5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Protocol version:    10

Connection:        Localhost via UNIX socket

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

UNIX socket:        /var/run/mysqld/mysqld.sock

Uptime:            53 min 14 sec

mysql> show create database tslcrms;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| tslcrms  | CREATE DATABASE `数据库名` /*!40100 DEFAULT CHARACTER SET utf8 */ |

+----------+------------------------------------------------------------------+

3.导入数据库文件中的表、字段的编码方式都修改成utf8

可以直接改.sql文件,改完导入。

也可以先导入,再用命令查看和更改。

附:在mysql中使用命令修改字符集:

mysql> SET character_set_client = utf8 ;

mysql> SET character_set_connection = utf8 ;

mysql> SET character_set_database = utf8 ;

mysql> SET character_set_results = utf8 ;

mysql> SET character_set_server = utf8 ;

mysql> SET collation_connection = utf8 ;

mysql> SET collation_database = utf8 ;

mysql> SET collation_server = utf8 ;

SET NAMES 'utf8';

相当于下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

---------------------

3.这个方法行不通后,我就开始设置linux服务器中的编码方式

在/etc/sysconfig/i18n中添加编码方式

LANG="zh_CN.UTF-8"

SYSFONT="latarcyrheb-sun16"

4.添加之后,重启系统还是不行,由于我是把项目放到tomcat服务器下,最后尝试了一下修改tomcat编码

在server.xml文件中添加编码方式

5.重启服务后,运行项目OK

java部署到服务器乱码_java web项目发布到linux服务器上运行出现乱码相关推荐

  1. Lesson9 【LINUX】将京淘项目发布到Linux系统上

    前言 将京淘项目发布到Linux系统上 我在windows系统中已经用IDEA编写好了京淘项目的代码,并且打好了war包. 现在我就想把这个京淘项目发布到linux系统上. 因为在工作中,都是要将项目 ...

  2. java输出的汉字变成乱码_Java Web项目中解决中文乱码方法总结

    一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...

  3. java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法

    很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接 ...

  4. java host头攻击漏洞_Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法...

    检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...

  5. FaceRecognitionDotNet人脸识别项目发布到linux服务器docker容器详细教程

    本人服务器为linux Ubuntu 首先新增Dockerfile,我使用的Dockerfile文件如下: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS ba ...

  6. web项目怎么连接云服务器,web项目怎么连接云服务器

    web项目怎么连接云服务器 内容精选 换一换 通过内网连接云手机实例时,需要在租户VPC中创建一台弹性云服务器,作为连接云手机的跳板机器.若创建云手机服务器时未使用自定义网络,还需在云手机租户的VPC ...

  7. Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图

    Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图 1.上传图片并返回灰度图功能 由于使用的springboot开发,直接写一个upload接口供图片上传,以下是spri ...

  8. IDEA社区版搭建Tomcat服务器并创建web项目

    IDEA社区版搭建Tomcat服务器并创建web项目 目标 创建Web项目的目录结构 可以启动Tomcat服务器 编写Servlet并访问成功 问题 IDEA社区版没有创建Web工程的选项 IDEA社 ...

  9. Eclipse java SE版本解决无法新建web项目问题

    Eclipse java SE版本解决无法新建web项目问题 参考文章: (1)Eclipse java SE版本解决无法新建web项目问题 (2)https://www.cnblogs.com/lf ...

最新文章

  1. android uri获取参数,android-无法从深度链接获取Uri数据
  2. nginx 缓存配置及报错解决
  3. WPF in Visual Studio 2010
  4. html怎样在一张图片里写字,用HTML代码在图片上写字
  5. c/c++编译的程序占用的内存分配
  6. 基于ipv6的多分支大学校园网设计与实现
  7. TwinCAT 3 基础——编程基础
  8. logisim---8位加减法器
  9. HDU 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活
  10. ubuntu:beyond compare 4 This license key has been revoked 有效解决方案
  11. android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码器
  12. pspice仿真库DC电源设置请教
  13. matlab-高数 diff 求在(x0,y0)处偏导数 数值
  14. objectArx ---基础操作
  15. anaconda is not fount
  16. 原神—薄樱初绽时(html+css+js仿原神2.5首页,前端课设)
  17. c语言欺凌,《中国校园欺凌调查报告》发布 语言欺凌占主导
  18. WebRTC实现多人视频聊天之客户端设计
  19. CSS禅意花园——CSS设计的绝美境界
  20. [转载]蓝沙快克PXE网克图文教程

热门文章

  1. python batchnorm2d_PyTorch中的BatchNorm2d层
  2. python坐标定位_Python_元素定位浏览器坐标定位
  3. Linux3种进程,linux内核获取进程的全路径3种方法
  4. Vue3学习笔记01:使用NPM方法安装Vue3
  5. Spark基础学习笔记12:Scala内建控制结构
  6. 修改Jupyter Notebook默认工作目录
  7. delphi 发送网络消息_《新手学习ISO网络模型》(1)如何直观理解物理层?
  8. 【英语学习】【医学】Unit 01 The Skeletal System
  9. 查询引擎: SQL反解析(json2sql)(附源码)
  10. python两列相乘_python – Pandas group by和sum两列