`
阳韵圣
  • 浏览: 60523 次
  • 性别: 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
分享到:
评论

相关推荐

    JAVA之连接MySQL数据库——测试数据库newtest.sql

    JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql

    JAVA之连接MySQL数据库——源码下载

    在Java编程中,连接MySQL数据库是一项基础且重要的任务,它使得Java应用程序能够与数据库进行交互,执行查询、更新等操作。本教程将详细介绍如何使用Java的JDBC(Java Database Connectivity)API来实现这一功能。 ...

    【学生选课信息管理系统】数据库课程设计源代码+报告(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数据库)

    《Java初学者代码生成工具——助力MySQL数据库应用开发》 在编程领域,效率是关键,尤其是在初学者阶段,快速地生成基础代码可以帮助开发者更专注于业务逻辑。本文将深入探讨一个专为Java初学者设计的代码生成工具...

    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数据库交互时。这个问题主要体现在插入中文字符时出现乱码,通常是因为字符...

    java连接mysql数据库代码示范

    java连接mysql数据库代码示范,如何通过java利用jdbc包来连接mysql数据库进行查询修改等操作

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    ### 在DELPHI中使用MyDAC连接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教务管理系统——数据库...

Global site tag (gtag.js) - Google Analytics