JSP,servlet和数据库之间传值出现乱码的问题
近期困扰我非常久的一个问题最终攻克了,为他我头疼了好几天,问题是JSP通过servlet向数据库传值,查询显示在页面的时候出现了乱码,原先我数据库中有两行带有中文的数据,查询的时候倒是没有出现乱码。我debug一下。发现JSP和servlet中全部接受中文字符集的变量都没有出现乱码,我去数据库查看。全部加入的中文字符都是问号,问题发现了,我就百度什么原因,有人说改变tomcat字符集。通过更改server.xml文件的字符集来接受中文字符,
方法一:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
我试了一下还是没能解决这个问题,
方法二:
假设通过servlet向数据库发送数据中包括中文。能够再servlet中设置
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
方法三:
在页面时设置charset的字符集
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
方法四:
在web.xml文件定义编码,同一时候在SetCharacterEncodingFilter类里定义编码为utf-8
web.xml:
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>com.bzu.servlet.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
SetCharacterEncodingFilter类:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");//处理编码
response.setCharacterEncoding("UTF-8");//处理编码
chain.doFilter(request, response);//让过滤器运行下一个请求
}
public void destroy() {
}
public void init(FilterConfig arg0) throws ServletException {
}
方法五:在form表单里定义编码
accept-charset="utf-8" onsubmit="document.charset='utf-8';"
这些方法都试过了,还是出现了乱码。无奈,之后在群里请教大神,有一个大神说,在MySQL数据库里执行以下这一句话
show variables like '%char%';
我执行之后的结果是
大神说当中我这两个须要更改,
然后我就找到安装文件夹下的my.ini文件吧把以下几句话给成例如以下格式:
default-character-set=utf8
default-storage-engine=INNODB
之后重新启动MySQL。之后果真问题攻克了。
附带群的qq号, 293074111希望群里能帮助一下真正爱学习Java的同学
JSP,servlet和数据库之间传值出现乱码的问题的更多相关文章
- JSP Servlet SQL 三者之间数据传递
前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网 ...
- servlet的xx方式传值中文乱码
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOEx ...
- JSP+Servlet 无数据库模拟登录过程
程序目录结构: index.jsp: <%@ page language="java" contentType="text/html; charset=utf-8& ...
- Web(Jsp+ Servlet)开发中如何解决中文乱码问题
1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...
- 基于JSP+SERVLET的新闻发布系统(一)
本系统使用的是基于JSP+SERVLET+TOMCAT6 数据库使用的是MYSQL IDE是MYECLIPSE8.5,页面编辑使用的是百度的ueditor,比较适合咱国人 采用MVC模式,使用的关键技 ...
- JSP与Servlet之间传值的一般方法,适合新手做练习
#JSP与Servlet之间传值 Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现 ...
- JSP/ Servlet常见的中文乱码原因
在开发中,我们经常遇到中文乱码的问题,比方: &浏览器中看到的 Jsp/Servlet 页面中的汉字成了 '?' ? &浏览器中看到的 Servlet 页面中的汉字都成了乱码 &a ...
- jsp+servlet中文乱码问题
jsp+servlet中文乱码问题 servlet想要获得前台传来的值 String strName=new String(request.getParameter("name") ...
- jsp+servlet上传excel并将数据导入到数据库表的实现方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
随机推荐
- Eclipse——浏览功能
一,打开变量声明 或选择opendeclaration就能够查看变量的定义 二.打开类型层次结构(open type hierarchy) 或者点击F4 watermark/2/text/aHR0cD ...
- 每天进步一点点——论fork()函数与Linux中的多线程编程
转载请说明出处:http://blog.csdn.net/cywosp/article/details/27316803 一.fork()函数 在操作系统的基本概念中进程是程序的一次运行,且是 ...
- 基于tomcat7 web开发中的一点小东西
控制台: org.apache.jasper.compiler.TldLocationsCache tldScanJar 信息: At least one JAR was scanned for TL ...
- dlib landmark+人面识别
#include "stdafx.h" #include <dlib/image_processing/frontal_face_detector.h> #includ ...
- 用java解析在OpenStreetMap上下载的地图数据(SAX版,适合比较大的xml文件)
java程序如下: package gao.map.preprocess; import java.io.BufferedWriter; import java.io.File; import jav ...
- 在Java程序中使用Hibernate
Hibernate是一种ORM框架,ORM全称为Object-Relative Database-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象(一般为实体类) ...
- 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1
ylbtech-Oracle:数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1 表空间 > 编辑 表空间: UNDOTBS1 1. 一般 ...
- Ubuntu Linux自动发邮件配置及邮件发送脚本
测试环境:Ubuntu 11.10 1. 安装mutt及msmtp软件 sudo apt-get install mutt sudo apt-get install msmtp 2. 编辑配置文件vi ...
- [leetcode]Reorder List @ Python
原题地址:http://oj.leetcode.com/problems/reorder-list/ 题意: Given a singly linked list L: L0→L1→…→Ln-1→Ln ...
- 内存泄漏 Memory Leaks 内存优化 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...