JDBC操作Mysql数据库表时中文乱码的解决方案

时间:2022-04-27 07:57:27

通过JDBC操作数据库表时,如果记录中有中文,可能会碰到乱码的问题。主要原因是字符编码(characterEncoding)不正确,原因如下:

                1、Eclipse中设置文件的字符编码格式与数据库等不一致;

                2、在数据库服务器上创建数据库和表的时候没有选择支持中文的编码方式;

                3、建立JDBC连接时没有指明支持中文的编码方式;

解决方法如下:

在建库、建表、建立JDBC连接时均采用utf-8编码,可以完美支持中文。操作如下:

                ①建数据库时:选择中文对应的Charset、Collation

                JDBC操作Mysql数据库表时中文乱码的解决方案

                ②建数据表时:也选择中文对应的Charset、Collation

                JDBC操作Mysql数据库表时中文乱码的解决方案

                ③建立JDBC连接时在url中加入 characterEncoding=utf-8 这个参数,

取Mysql数据库的连接步骤如下:

               Class.forName("com.mysql.jdbc.Driver");

               String url = "jdbc:mysql:///myDB?characterEncoding=utf-8";

               String user = "root";

               String pswd = "123456";

               Connection conn = DriverManager.getConnection(url, user, pswd);

这样JDBC操作mysql数据库的中文乱码问题就解决了.