IDEA——IDEA使用Tomcat服务器出现乱码问题
最近刚使用IDEA,在开发一个功能的时候,开始使用Jetty作为容器进行web项目开发,测试通过。然后想了一下线上服务器使用的容器是Tomcat,还是用Tomcat跑一下项目在测试一下,本地和服务器使用相同的容器,这个可以避免因为容器不同而导致本地测试通过,而上线又出现莫名的错误~!
就在我从Jetty切换到Tomcat,就发生了问题,访问JSP页面使用response输出,出现了乱码!!!
就是下面这些东东:(这是什么啊!萌币中。。。。。)
����⣺ ����⣺ ����⣺ ����⣺ ����⣺ ����⣺ ����⣺
这很是郁闷,本想着一次性测试通过,没想到这里又让我停留!
看到乱码,心里不要害怕,不要紧张!冷静下来进行分析,看哪里出现问题!
我开始思考:
first :数据库(mysql)---utf-8
show variables like 'character%'
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /aebiz/soft/mysql/share/charsets/
second:Tomcat---utf-8
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"/>
Third:jsp --- utf-8
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
fourth:web.xml---utf-8
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Fifth:request和response
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
Sixth:java代码字符串编码
str = tmpWriter.getByteArrayOutputStream().toString("utf-8");
全部都检查过之后,发现全部是utf-8。大写的一个懵字,全部是utf-8怎么还是会有乱码出现呢?
好忧伤,难道是还有什么地方没有设置吗,我一想,是不是IDEA结合Tomcat编码设置有问题导致的呢?按照这个思路发现奇迹就在前面!
在配置Tomcat的时候添加一些参数。如下(开始是没有设置-Dfile.encoding=UTF-8)
-server
-Xms1024m
-Xmx2048m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+CMSClassUnloadingEnabled
-XX:+PrintGCDetails
-Xloggc:%M2_HOME%/gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=%M2_HOME%/java_pid.hproyuan
用搜索引擎发现下面博文:
http://blog.csdn.net/u014424628/article/details/49429393
于是添加VM参数添加
-Dfile.encoding=UTF-8
配置参数就是
-server
-Xms1024m
-Xmx2048m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+CMSClassUnloadingEnabled
-XX:+PrintGCDetails
-Xloggc:%M2_HOME%/gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=%M2_HOME%/java_pid.hproyuan
-Dfile.encoding=UTF-8
启动发现页面乱码不见了,可是控制台有出现了乱码,乱码真是 生生不息 啊!
于是配置
idea安装目录下的bin文件夹,idea.exe.vmoptions文件中
添加一条配置信息:-Dfile.encoding=UTF-8
so,一切都解决了!完美!
推荐文章:
http://mp.weixin.qq.com/s/QE5-Mw1kVzvzb_SiI1ZIFQ
欢迎访问我的csdn博客,我们一同成长!
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"
博客首页:http://blog.csdn.net/u010648555
IDEA——IDEA使用Tomcat服务器出现乱码问题的更多相关文章
- Tomcat服务器常用配置和HTTP简介
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Android开发之下载Tomcat服务器的文件到模拟器的SD卡
Tomcat服务器可以到Apache的官网去下载http://tomcat.apache.org/,如何配置和使用百度下也有很多介绍,只要把Java的SDK配下java_home环境变量就行了,因为T ...
- JavaEE:Tomcat服务器常用配置和HTTP简介
Web服务器常用配置1.Web系统采用B/S结构通信的:Browser --- Server1)浏览器向服务器发送访问目标资源请求(请求)2)服务器根据请求的目标资源路径,在服务器端进行查找(请求查找 ...
- Tomcat热部署:Maven项目一键部署到Tomcat服务器 - 支持多环境
参考:Eclipse中的Maven项目一键部署到Tomcat服务器 - 支持多环境部署 命令 debug模式设置关联源码 eclipse --> 项目右键 --> Debug As --& ...
- 如何设置tomcat服务器编码为utf-8编码
原文:http://blog.csdn.net/u014079773/article/details/52637057 在实际开发中我们经常遇到request请求的中文乱码,那么如何解决中文乱码问题? ...
- 【Server】Windows系统安装Tomcat服务器
安装Tomcat服务器 Tomcat服务器地址:https://tomcat.apache.org/download-80.cgi 当前版本点选8以上版本,最新的可能不稳定,所以选8或者9版本 直接解 ...
- Tomcat服务器的下载以及配置
1,Tomcat的下载与安装 本人采用的是解压版安装,只需要在官网(https://tomcat.apache.org/)下载好压缩版的Tomcat,再解压在你想安装的目录下即可.我的安装目录是D:\ ...
- Tomcat服务器种的HttpServletRequest类
HttpServletRequest 类有什么作用: 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Reque ...
- TOMCAT WEB请求乱码
post乱码: 原因: 对于POST方式,它采用的编码是由页面来决定的即ContentType("text/html; charset=GBK").当通过点击页面的submit ...
随机推荐
- [js高手之路]this知多少
this关键字在javascript中的变化非常的灵活,如果用的不好就非常恶心,用的好,程序就非常的优雅,灵活,飘逸.所以掌握this的用法,是每一个前端工程师必知必会的.而且这个也是一些大公司笔试中 ...
- JDBC获取数据库Connection的工具抽取
使用JDBC获取数据库的连接,大字分为三个步骤 1.获取驱动包名,定义URL,database_username,database_password 2.获取Connection对象 3.利用Conn ...
- hdu5673 Robot 卡特兰数 / 默慈金数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5673 分析: 这道题是一道裸的默慈金数,比较容易想到的是用卡特兰数来做.不了解的可以先学习一下. 卡特 ...
- Java基础---其他对象
第一讲 System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in: ...
- wpf创建用户控件(计时器控件)
在vs中新增用户控件 前台xaml如下代码: <UserControl x:Class="Zh.SelfServiceEquipment.UI.ZhControls.CountDown ...
- clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...
- SQL Server锁类型
SQL Server锁类型(SQL)收藏 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项生 ...
- 设计模式,Let's “Go”! (下)
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- Singleton(单例)模式
Singleton(单例)模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. public class Singleton { private static Singleton ourIns ...
- Django1.10主题指南—模型
模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和操作行为.通常,每个模型都对应着数据库中的唯一一张表. 基础认识: 每个model都是一个继承 django.db.models.M ...