近期困扰我非常久的一个问题最终攻克了,为他我头疼了好几天,问题是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和数据库之间传值出现乱码的问题的更多相关文章

  1. JSP Servlet SQL 三者之间数据传递

    前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网 ...

  2. servlet的xx方式传值中文乱码

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOEx ...

  3. JSP+Servlet 无数据库模拟登录过程

    程序目录结构: index.jsp: <%@ page language="java" contentType="text/html; charset=utf-8& ...

  4. Web(Jsp+ Servlet)开发中如何解决中文乱码问题

    1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...

  5. 基于JSP+SERVLET的新闻发布系统(一)

    本系统使用的是基于JSP+SERVLET+TOMCAT6 数据库使用的是MYSQL IDE是MYECLIPSE8.5,页面编辑使用的是百度的ueditor,比较适合咱国人 采用MVC模式,使用的关键技 ...

  6. JSP与Servlet之间传值的一般方法,适合新手做练习

    #JSP与Servlet之间传值 Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现 ...

  7. JSP/ Servlet常见的中文乱码原因

    在开发中,我们经常遇到中文乱码的问题,比方: &浏览器中看到的 Jsp/Servlet 页面中的汉字成了 '?' ?  &浏览器中看到的 Servlet 页面中的汉字都成了乱码  &a ...

  8. jsp+servlet中文乱码问题

    jsp+servlet中文乱码问题 servlet想要获得前台传来的值 String strName=new String(request.getParameter("name") ...

  9. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

随机推荐

  1. 为 Tomcat 安装 apr

    apr 官方介绍: Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTT ...

  2. Android之等比例显示图片

    在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧. 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawabl ...

  3. 添加sqljdbc4的maven依赖

    sqljdbc是微软sql server的jdbc驱动 使用sqljdbc需要从微软的官方网站下载jar包: http://www.microsoft.com/en-us/download/detai ...

  4. 又议android中的manifest清单文件

    写过java程序的人,都知道了配置文件时java实现各种各样的框架的一大利器,manifest清单文件对android的作用自然不言而喻,然而他里面究竟定义了些什么,并且他是如何加载到程序中的. 他里 ...

  5. Scala中_(下划线)的常见用法

    Scala中_(下划线)的常见用法 地址:https://www.jianshu.com/p/0497583ec538

  6. Win10系统下软件UI显示不完整解决方案

    在最初升级win10的时候就想到了这些问题,例如和各种软件的不兼容性.当然,事实上win10并没有想象的那么糟,作为一个windows user 来说,win10的确是很高大上的,无论是颜值或者是体验 ...

  7. 体绘制(Volume Rendering)概述之3:光线投射算法(Ray Casting)原理和注意要点(强烈推荐呀,讲的很好)

    转自:http://blog.csdn.net/liu_lin_xm/article/details/4850609 摘抄“GPU Programming And Cg Language Primer ...

  8. [Functional Programming] Build a Linear congruential generator

    What we are going to do in this post, is to build a random number generator. As you might know that ...

  9. [Backbone]4. Model & View, toggle between Model and View. -- 1

    如上图所示: Server有Data都交给Models处理, 然后由Models给Views Data,让View去告诉DOM如何显示, 然后DOM显示HTML; View events update ...

  10. matlab工作空间,变量的保存和载入

    对于工作空间中变量的保存和载入可以使用save和load命令,详细的使用方法通过help指令获取(help save,help load). ​两条指令最常用的情况为: 1.% 保存整个工作空间至指定 ...