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


文/程忠 浏览次数:0次   2022-05-02 17:46:06

相关阅读


评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑