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

前言

遇到问题别着急问别人,除非着急,自己去分析和解决问题出现的原因,是对我们的能力的一个直观体现,百度不行你就用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);
	}
}

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Geek-Banana

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值