java程序在插入数据到mysql数据库时,中文乱码。代码中的编码配置没有问题,因为该项目代码以前使用过,没有问题。只是换了数据库,出现乱码。
解决方法:在数据库的配置的url后加useUnicode=true&characterEncoding=UTF-8参数。
private static String URL = "jdbc:mysql://localhost:3306/ki?useUnicode=true&characterEncoding=UTF-8"; private static String USER = "root"; private static String PASSWORD = "root";
用xml配置时,&要使用它的转义符:
技术用的这个
?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
<!-- 数据源 --> <bean id="ds" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" value="jdbc:mysql://localhost:3306/ki?useUnicode=true&characterEncoding=UTF-8"/> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean>