mysql 数据插入为问号 ?

建表建库,向来不是我所擅长,而今天却心血来潮,晚期了数据库,然后插入数据的时候一直是炸,中文全部变成??,然后更改数据库编码集也是一样,查询结果,现在数据库默认字符集为utf-8,默认排序规则为utf8_general_ci, 

正常的数据库连接进行插入,用的PreparedStatement,然后

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1", "root", "");

以上为连接信息,

至此插入无限问号

更改数据库字符集无果,最后查看正常连接,发现后面带了一串信息?autoReconnect=true&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true,于是我也加上了

意思是,useUnicode=true&characterEncoding=utf8:

在使用mysql是的时候,如果超过8小时数据库没有操作,会自动断开连接,可以配置: autoReconnect=true

另外一段为

1. 存数据时:

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

2.取数据时:

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

allowMultiQueries=true: 一条sql中允许进行多次插入update操作,

加入之后起来,插入查询,完全正常,于是。。。问题就这样愉快地解决了

猜你喜欢

转载自www.cnblogs.com/senjiang/p/10857181.html