mysql jdbc驱动老引起中文乱码
老版本:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.5</version> </dependency>
新版本:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency>
老版本引起的中文乱码问题:
例:select a '中文' from table
返回的列名是乱码的。
ResultSetMetaData rsd=rs.getMetaData();
String colName=rsd.getColumnLabel(1);
String newColName=new String(colName.getBytes("Cp1252"),"UTF-8");
虽然这能解决一定问题,但还是有乱码。
使用新版本即可解决问题。
hsqldb2.5可以连mysql,用5.0.5的mysql也会乱码,8.0.18的不会。
jdbc.url注意加上时区,否则数据时间会乱
&serverTimezone=Asia/Shanghai
相关阅读
评论:
↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑