• 技术文章 >Java >Java基础

    java向mysql插入数据出现乱码解决方法

    尚2019-12-07 15:14:43原创1163

    Java 向mysql插入数据乱码出现问号解决方法:(推荐:java视频教程

    java向数据库插入数据出现问号的乱码问题,首先确定数据库的编码格式是否正确,可以在mysql的数据库中insert一个语句看看是不是可以正常显示中文,如果可以正常显示,那么就是java连接数据库的时候,没有带编码访问数据库。

    解决方法

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        static final String DB_URL = "jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8";

    完整编码

    package com.music.test;
    
    import java.sql.*;
    
    public class DBMySQL {
        // JDBC 驱动名及数据库 URL
        static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        static final String DB_URL = "jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8";
    
        // 数据库的用户名与密码,需要根据自己的设置
        static final String USER = "***";
        static final String PASS = "***";
        private Connection conn = null;
    
        public DBMySQL() {
            try {
                // 注册 JDBC 驱动
                Class.forName("com.mysql.jdbc.Driver");
                // 打开链接
                System.out.println("连接数据库...");
                conn = DriverManager.getConnection(DB_URL, USER, PASS);
            } catch (SQLException se) {
                // 处理 JDBC 错误
                se.printStackTrace();
            } catch (Exception e) {
                // 处理 Class.forName 错误
                e.printStackTrace();
            }
        }
    
        public int insert(Album album) {
            int i = 0;
            String sql = "insert into album (album_name,singer,album_url) values(?,?,?)";
            try {
    
                PreparedStatement preStmt = conn.prepareStatement(sql);
                preStmt.setString(1, album.getAlbum_name());
                preStmt.setString(2, album.getSinger());// 或者:preStmt.setInt(1,值);
                preStmt.setString(3, album.getAlbum_url());// 或者:preStmt.setInt(1,值);
    
                i = preStmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
            return i;// 返回影响的行数,1为执行成功
        }
    }

    在你的数据库名字后面加?characterEncoding=UTF-8,则可成功插入数据。

    更多java知识请关注java基础教程栏目。

    以上就是java向mysql插入数据出现乱码解决方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java
    上一篇:java中实现判断文件是否存在,不存在则创建 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中如何判断char是否是空格• java中如何判断字符串是否由字符组成• java错误:找不到符号• java中判断是否是闰年的方法详解
    1/1

    PHP中文网