zoukankan      html  css  js  c++  java
  • java.sql.Connection解决插入数据库中文乱码问题

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class ConnectionManager {
        
        private static final String DRIVER = "com.mysql.jdbc.Driver";
        //private static final String URL = "jdbc:mysql://localhost:3306/mydb"
            private static final String URL = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8";
        private static final String USERNAME = "root";
        private static final String PASSWORD = "";
        
        public static Connection getConnection(){
                
            try {
                Class.forName(DRIVER);
                Connection connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
                return connection;
            } catch (Exception e) {
                e.printStackTrace();
            }
                return null;
            
        }
    }
                

    该段代码建立数据库链接,注释代码在数据库插入中文数据会显示乱码,在mydb后添加”?useUnicode=true&characterEncoding=utf-8”即可解决

    添加的作用是:指定字符的编码、解码格式

    例如:mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEncoding=UTF-8 ,那么作用有如下两个方面:

    1. 存数据时:

         数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。

    2.取数据时:

         在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。

  • 相关阅读:
    反射+注解:excel2module
    RSA签名
    base642photo
    maven命令
    201421123042 《Java程序设计》第14周学习总结
    201421123042 《Java程序设计》第13周学习总结
    201421123042 《Java程序设计》第12周
    201421123042 《Java程序设计》第10周学习总结
    201421123042 《Java程序设计》第9周学习总结
    201421123042 《Java程序设计》第8周学习总结
  • 原文地址:https://www.cnblogs.com/gzp2015/p/6006449.html
Copyright © 2011-2022 走看看