java插入数据库中文乱码

java插入数据库中文乱码

控制台报错

java.sql.SQLException: Incorrect string value: '\xE5\x86\xB0\xE7\xAE\xB1' for column 'gname' at row 1
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2494)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
	at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
	at com.yueqian.test.Test.main(Test.java:183)

这个如何解决?之前数据插入中文乱码了我捣鼓了一下变成这样了,去百度搜是要把my.ini的文档内容修改。。但是我macos系统里没有这个文档

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,安装完MySql后,系统中不会有my.ini文件,老师的也是一样。同学可以新建一个文件,命名为my.ini。

参考命令如下:

touch my.ini

祝学习愉快~

  • wacky1 提问者 #1
    老师您的意思是直接在mysql的安装路径下创建一个my.ini文档然后把那些东西贴上去然后:wq保存退出就可以了?
    2020-09-23 17:44:23
  • 好帮手慕阿慧 回复 提问者 wacky1 #2
    同学你好,是的,你的理解是正确的。 祝:学习愉快~
    2020-09-23 18:59:05
好帮手慕阿慧 2020-09-23 11:46:07

同学你好,

1、同学可以在MySQL安装目录下新建my.ini文件。

例如:

http://img1.sycdn.imooc.com//climg/5f6ac4a00973e61605620318.jpg

编辑my.ini文件,添加如下内容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

2、重启MySql。命令参考如下:

sudo /usr/local/mysql/support-files/mysql.server restart

3、修改goods数据表的编码为utf8

ALTER TABLE goods CONVERT TO CHARACTER SET utf8;

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 wacky1 #1
    老师我的事macos系统找不到这个my.ini文件
    2020-09-23 15:45:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师