环境
Macos:10.9
Windows:XP,32bit
Mysql:5.5.16
Mysql Connector:5.1.25
MySql实例字符集:UTF-8
JDK:6.0
JDBC连接串:ds.url=jdbc:mysql://localhost:3306/effectee_dev
问题;
在Widows下用jdbc插入包含中文的数据,使用MqSql workbench查看数据库中的数据,中文没有乱码。用JDBC读取这条数据,用print打印查看也没有乱码,一切OK。
在MacOi下用用jdbc插入包含中文的数据,使用MqSql workbench查看数据库中的数据,中文乱码。用JDBC读取这条数据,用print打印查看也是乱码。
解决:
在JDBC连接串中加入编码指定,整个JDBC连接串如下:
ds.url=jdbc:mysql://localhost:3306/effectee_dev?useUnicode=true&characterEncoding=UTF-8
windows和macos上中文都没有再乱码,一切安好。
遗留问题:
为什么windows不需要指定编码?
Macos:10.9
Windows:XP,32bit
Mysql:5.5.16
Mysql Connector:5.1.25
MySql实例字符集:UTF-8
JDK:6.0
JDBC连接串:ds.url=jdbc:mysql://localhost:3306/effectee_dev
问题;
在Widows下用jdbc插入包含中文的数据,使用MqSql workbench查看数据库中的数据,中文没有乱码。用JDBC读取这条数据,用print打印查看也没有乱码,一切OK。
在MacOi下用用jdbc插入包含中文的数据,使用MqSql workbench查看数据库中的数据,中文乱码。用JDBC读取这条数据,用print打印查看也是乱码。
解决:
在JDBC连接串中加入编码指定,整个JDBC连接串如下:
ds.url=jdbc:mysql://localhost:3306/effectee_dev?useUnicode=true&characterEncoding=UTF-8
windows和macos上中文都没有再乱码,一切安好。
遗留问题:
为什么windows不需要指定编码?