JDBC连接MySQL:Unknown initial character set index '255' received from server.Initial client character

版权声明:本文为Banana原创文章,未经Banana允许不得转载。评论请留下你认真观看后的想法或者意见,非常感谢! https://blog.csdn.net/qq1515312832/article/details/85614733

前言

遇到问题别着急问别人,除非着急,自己去分析和解决问题出现的原因,是对我们的能力的一个直观体现,百度不行你就用google。

正文

使用jdbc连接数据库,驱动加载,url,用户名和密码,全都正确,但是无论如何连接不上数据库,慢慢儿查看错误信息说是字符集的问题。

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown initial character set index ‘255’ received from server. Initial client character set can be forced via the ‘characterEncoding’ property.

eclipse给的错误信息已经相当明显,然后就要改正的是url,需要在url前面添加上字符集的编码格式。

原来的:

dataSource.setUrl(“jdbc:mysql://xxx.xxx.xxx.xxx:3306/student”);

修改之后的:

dataSource.setUrl(“jdbc:mysql://xxx.xxx.xxx.xxx:3306/student?useUnicode=true&characterEncoding=utf8”);

package com.banana.jdbc.demo1;

import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class JdbcDemo1 {

	@Test
	public void demo1() {
		DriverManagerDataSource dataSource = new DriverManagerDataSource();
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		// xxx.xxx.xxx.xxx 是 MySQL所在的服务器IP
		dataSource.setUrl("jdbc:mysql://xxx.xx.xxx.xxx:3306/student?useUnicode=true&characterEncoding=utf8");
		dataSource.setUsername("root");
		dataSource.setPassword("12345678");

		// 创建jdbc模板
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		jdbcTemplate.update("insert into t_stu(name,age) values(?,?)", "lalala", 10);
	}
}

猜你喜欢

转载自blog.csdn.net/qq1515312832/article/details/85614733