遇到了一个java mysql 的乱码问题,起初是使用javascript对java后台进行传参,有乱码,使用如下代码解决:
new String(request.getParameter("collName").getBytes("ISO8859-1"), "UTF-8");
我的数据库、jsp页面都统一是UTF-8的编码,也加了过滤器,所以当Myeclipse打印出乱码来时我非常疑惑,调了一个下午,
还在CSDN上发了贴,这最让我吐血的一件事,后来经检查,sql写错了,sql = select * from table where name=姓名;
sql语句中,字符串应使用引号进行包裹传参,所以,应改为 sql = select * from table where name='姓名'
今天写此文章用来警醒自己,以后不要再发同样的错误,下面把过滤器及其配置写一下:
过滤器:
public class CharacterEncodingFilter implements Filter {
private String edcoding=null;
private FilterConfig filterConfig=null;
private boolean ignore=true;
public void destroy() {
edcoding=null;
filterConfig=null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
if(ignore==true||request.getCharacterEncoding()==null){
String encoding=setCharacterEncoding(request);
if(encoding!=null){
request.setCharacterEncoding(encoding);
}
}
filterChain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig=filterConfig;
this.edcoding=filterConfig.getInitParameter("encoding");
String value=filterConfig.getInitParameter("ignore");
if(value==null){
this.ignore=true;
}else if(value.equalsIgnoreCase("true")){
this.ignore=true;
}else{
this.ignore=false;
}
}
public String setCharacterEncoding(ServletRequest request){
return this.edcoding;
}
}
在web.xml上的配置:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>base.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>
java中解决乱码问题确实麻烦,我给的建议就是统一数据库、jsp页面编码,且编码最好为UTF-8。
以前我遇到过一个乱码问题,上传文件时 文件名奇数乱码,偶数正常,查了一下说这是和UTF-8的编码方式有关,但一直
没有找到好的解决方法。
分享到:
相关推荐
【学生选课信息管理系统】数据库课程设计源代码+报告(MySQL+Java) 数据库课程设计,学生选课信息管理系统源代码+设计报告(MySQL+Java) 数据库课程设计——学生选课信息管理系统(MySQL+Java) 分为三类用户角色...
首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,用于连接Java应用程序和各种数据库,包括MySQL。在Java项目中,我们需要添加MySQL的JDBC驱动(如mysql-...
“浅析数据库之效能——MYSQL数据库作用与技巧” 概述:本文档旨在对MySQL数据库的效能和技巧进行浅析,涵盖了 MySQL 数据库的基本概念、数据类型、数据表、数据操作、系统管理命令等方面的知识点。 一、MySQL...
上述代码展示了如何使用Java来实现MySQL数据库的备份和还原操作。以下是对这些操作的详细解释: 首先,代码导入了多个Java库,包括`java.io`包下的类,用于处理输入/输出流,以及`java.util`包下的类,如`Date`和`...
Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统...
在C#编程中,与MySQL数据库交互时可能会遇到编码问题,导致数据乱码。这个问题通常是由于编码不一致或设置不当造成的。本篇文章将详细介绍如何解决MySQL数据库中的乱码问题,并探讨如何通过C#进行数据库操作的封装,...
在使用Java应用程序与MySQL数据库交互的过程中,常常会遇到一个令人头疼的问题:中文字符在存储到数据库时出现乱码现象。这种现象通常发生在使用JDBC(Java Database Connectivity)连接数据库,并进行数据插入操作...
在这个基于Java的数据库课程设计中,我们探讨的是一个机票预订系统,它采用了JSP(Java Server Pages)作为前端展示技术,以及MySQL作为后端数据库存储。这个系统的主要目的是让学生掌握Web应用开发的基本技能,理解...
Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改 首先,我们需要修改 MySQL 数据库的...
在这个"java操作mysql数据库,不写sql语句版"的主题中,我们将探讨如何利用这些工具来实现这一目标。 1. Hibernate:这是一个强大的Java ORM框架,它允许我们通过Java对象模型与数据库进行交互,而无需编写SQL。...
Java连接MySQL数据库主要依赖于MySQL提供的驱动程序,这个驱动程序通常被打包成一个JAR(Java Archive)文件,名为`mysql-connector-java`。在给定的文件名称列表中,我们看到的是`mysql-connector-java-5.1.7.jar`...
在开发过程中,尤其是在涉及到多语言环境的项目时,数据库中的字符编码问题时常出现,特别是当使用不同的编程语言如Node.js和C语言与MySQL数据库交互时。这个问题主要体现在插入中文字符时出现乱码,通常是因为字符...
MATLAB 访问 MySQL 数据库教程及代码 MATLAB 是一个功能强大的数学计算软件,而 MySQL 是一个流行的关系数据库管理系统。在本教程中,我们将学习如何使用 MATLAB 访问 MySQL 数据库,并提供详细的代码示例。 一步...
Java链接mysql数据库代码,从链接到关闭,注释详细,一目了然
教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库...
分为三类用户角色学生用户:修改个人信息、课程查询、选课、退课、成绩查询、打印成绩单查询、奖惩信息 教师用户:修改个人信息、查看所授课程信息、...用的java+MySQL数据库,cs架构。附带设计报告,建表合理规范。
JAVA与数据库的连接代码,需要添加支持mysql的架包才能使用。。。
【Java代码 MySql导出到SqlLite】是一种技术实践,它涉及到使用Java编程语言来实现一个功能,该功能能够将MySQL数据库中的数据高效地导出到SQLite数据库文件中。这一过程通常用于数据迁移、备份或者在不同环境之间...
本课程设计是基于Java技术实现的图书馆管理系统,旨在让学生深入理解和掌握数据库在实际项目中的应用。这个系统提供了管理员管理和用户查询等多种功能,旨在模拟真实图书馆的运作流程,为用户提供友好的交互界面,...
一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...