关于mysql插入数据报错:Incorrect string value: '\xE9\x81\x93\xE5\x85\xB7...' for column 'gclass' at...

链接完数据库往数据库里插入数据时出现:Incorrect string value: '\xE9\x81\x93\xE5\x85\xB7...' for column 'gclass' at...这样的错误。找了半天发现是数据库的问题。

百度了一下发现是编码的问题,所以我把数据库和所有表的编码都改为utf-8了,简单粗暴。

在终端里输入命令:

alter database Goodsdb character set utf8;

先把数据库Goodsdb的编码改为utf-8

alter table goods convert to character set utf8;

这条命令就是把goods表的编码改为utf-8

这里说一下,上面这条命令是把表和表里所有的属性都改为utf-8编码的,而下面这段仅仅是把表改为utf-8编码,字段没有变。

alter table goods character set utf8;

然后再执行下面这段代码:

		//驱动程序名
		String drivename="com.mysql.jdbc.Driver";
		//要链接的数据库
		String url="jdbc:mysql://localhost:3306/Goodsdb";
		//用户,密码
		String user="root",password="123456";		
				
		try {
                        //import com.mysql.jdbc.Driver;也可以
                        Class.forName(drivename);
			Connection con=DriverManager.getConnection(url,user,password);
			if(con.isClosed()) {
				JOptionPane.showMessageDialog(null,"没连上啊,小伙子");
				System.exit(0);
			}			
			String sql="select * from goods;";
			Statement statement=con.createStatement();
			ResultSet rs=statement.executeQuery(sql);
			rs.next();
			System.out.print(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
			rs.close();
			statement.close();
			con.close();
		}
		catch(Exception e){
			JOptionPane.showMessageDialog(null,e.getMessage(),"error",1);
			e.printStackTrace();
		}

得到输出:

T2019417 道具类 义魂丸 一路走好,你的身体我会好好保存的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值