Rumah >Java >Javabermula >java中向mysql数据库插入中文数据出现乱码

java中向mysql数据库插入中文数据出现乱码

王林
王林asal
2019-11-25 10:32:004888semak imbas

java中向mysql数据库插入中文数据出现乱码

1、数据库插入中文乱码首先需要排除的问题是,MySQL的默认字符集和对应database的字符集是什么

通常为了以后的兼容性,建议将整个MySQL的默认字符集都设置成utf-8。可以使用以下命令查看默认字符集:

mysql> SHOW VARIABLES LIKE 'character%';

建议对于新装的MySQL直接将整个所有的默认字符集都设置成utf-8,对于已经有很多database的可以单独设置特定的数据库的字符集。

学习视频推荐:java零基础入门

有关字符集的一些设置方法:

修改特定数据库的字符集

mysql>use mydb
mysql>alter database mydb character set utf-8;

创建数据库指定数据库的字符集

mysql>create database mydb character set utf-8;

2、指定JDBC在传输的时候使用utf-8编码

这样整个程序处理、传输、数据库存储都统一了编码格式,因此中文就不会乱码了。所以Java程序JDBC对应的数据库URL应该写成如下样式:

 // 驱动程序名
    private static String driver = "com.mysql.jdbc.Driver";
    // URL指向要访问的数据库名
    private static String url = "jdbc:mysql://localhost:3306/watermarking?useUnicode=true&characterEncoding=utf-8";
    // MySQL配置时的用户名
    private static String user = "root";
    // MySQL配置时的密码
    private static String password = "root";

URL中“?”后面的就是指定使用UTF-8进行字符编码

更多java相关文章请关注:java编程入门

Atas ialah kandungan terperinci java中向mysql数据库插入中文数据出现乱码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:java中的IO流如何分类Artikel seterusnya:java中null是对象么