`
阳韵圣
  • 浏览: 60379 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
文章分类
社区版块
存档分类
最新评论

java mysql数据库乱码问题——写代码一定要细心,不然会郁闷死的

阅读更多

遇到了一个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的编码方式有关,但一直

 

没有找到好的解决方法。

0
1
分享到:
评论

相关推荐

    【学生选课信息管理系统】数据库课程设计源代码+报告(MySQL+Java)

    【学生选课信息管理系统】数据库课程设计源代码+报告(MySQL+Java) 数据库课程设计,学生选课信息管理系统源代码+设计报告(MySQL+Java) 数据库课程设计——学生选课信息管理系统(MySQL+Java) 分为三类用户角色...

    java实现mysql数据库的表导出到excel文件

    首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,用于连接Java应用程序和各种数据库,包括MySQL。在Java项目中,我们需要添加MySQL的JDBC驱动(如mysql-...

    浅析数据库之效能——MYSQL数据库作用与技巧.pdf

    “浅析数据库之效能——MYSQL数据库作用与技巧” 概述:本文档旨在对MySQL数据库的效能和技巧进行浅析,涵盖了 MySQL 数据库的基本概念、数据类型、数据表、数据操作、系统管理命令等方面的知识点。 一、MySQL...

    java mysql 数据库备份和还原操作(csdn)————程序.pdf

    上述代码展示了如何使用Java来实现MySQL数据库的备份和还原操作。以下是对这些操作的详细解释: 首先,代码导入了多个Java库,包括`java.io`包下的类,用于处理输入/输出流,以及`java.util`包下的类,如`Date`和`...

    Java基于MySQL数据库的学生管理系统源码.zip

    Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统...

    c#解决mysql乱码问题的解决及mysql数据库操作的封装

    在C#编程中,与MySQL数据库交互时可能会遇到编码问题,导致数据乱码。这个问题通常是由于编码不一致或设置不当造成的。本篇文章将详细介绍如何解决MySQL数据库中的乱码问题,并探讨如何通过C#进行数据库操作的封装,...

    java插入mysql中文乱码解决

    在使用Java应用程序与MySQL数据库交互的过程中,常常会遇到一个令人头疼的问题:中文字符在存储到数据库时出现乱码现象。这种现象通常发生在使用JDBC(Java Database Connectivity)连接数据库,并进行数据插入操作...

    基于Java的数据库课程设计——机票预订系统JSP+MySQL.zip

    在这个基于Java的数据库课程设计中,我们探讨的是一个机票预订系统,它采用了JSP(Java Server Pages)作为前端展示技术,以及MySQL作为后端数据库存储。这个系统的主要目的是让学生掌握Web应用开发的基本技能,理解...

    java中MySQL中文乱码问题解决方案

    Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改 首先,我们需要修改 MySQL 数据库的...

    java操作mysql数据库,不写sql语句版

    在这个"java操作mysql数据库,不写sql语句版"的主题中,我们将探讨如何利用这些工具来实现这一目标。 1. Hibernate:这是一个强大的Java ORM框架,它允许我们通过Java对象模型与数据库进行交互,而无需编写SQL。...

    java连接mysql数据库用到的jar包

    Java连接MySQL数据库主要依赖于MySQL提供的驱动程序,这个驱动程序通常被打包成一个JAR(Java Archive)文件,名为`mysql-connector-java`。在给定的文件名称列表中,我们看到的是`mysql-connector-java-5.1.7.jar`...

    nodejs和C语言插入mysql数据库乱码问题的解决方法.docx

    在开发过程中,尤其是在涉及到多语言环境的项目时,数据库中的字符编码问题时常出现,特别是当使用不同的编程语言如Node.js和C语言与MySQL数据库交互时。这个问题主要体现在插入中文字符时出现乱码,通常是因为字符...

    matlab访问mysql数据库教程及代码

    MATLAB 访问 MySQL 数据库教程及代码 MATLAB 是一个功能强大的数学计算软件,而 MySQL 是一个流行的关系数据库管理系统。在本教程中,我们将学习如何使用 MATLAB 访问 MySQL 数据库,并提供详细的代码示例。 一步...

    java链接mysql数据库

    Java链接mysql数据库代码,从链接到关闭,注释详细,一目了然

    教务管理系统-数据库课程设计mysql+java.zip

    教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库...

    数据库课程设计——学生选课信息管理系统(MySQL+Java)

    分为三类用户角色学生用户:修改个人信息、课程查询、选课、退课、成绩查询、打印成绩单查询、奖惩信息 教师用户:修改个人信息、查看所授课程信息、...用的java+MySQL数据库,cs架构。附带设计报告,建表合理规范。

    JAVA与数据库的连接代码

    JAVA与数据库的连接代码,需要添加支持mysql的架包才能使用。。。

    Java代码 MySql导出到SqlLite

    【Java代码 MySql导出到SqlLite】是一种技术实践,它涉及到使用Java编程语言来实现一个功能,该功能能够将MySQL数据库中的数据高效地导出到SQLite数据库文件中。这一过程通常用于数据迁移、备份或者在不同环境之间...

    java数据库课程设计——图书馆管理系统源码,数据库备份,文档

    本课程设计是基于Java技术实现的图书馆管理系统,旨在让学生深入理解和掌握数据库在实际项目中的应用。这个系统提供了管理员管理和用户查询等多种功能,旨在模拟真实图书馆的运作流程,为用户提供友好的交互界面,...

    java比较两个mysql数据库中的表信息差异

    一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...

Global site tag (gtag.js) - Google Analytics