windows下mybatis插入mysql数据中文乱码问题解决

古城微笑少年丶 2024-04-03 08:17 165阅读 0赞

windows下mybatis插入mysql数据中文乱码

  • 一、问题
  • 二、可能导致原因
  • 三、顺藤摸瓜

一、问题

  1. 使用mybatis持久层框架,执行sql语句,插入到mysql数据库中,发现中文乱码

在这里插入图片描述

二、可能导致原因

1、mysql本身的编码配置,即:mysql.ini文件没有配置好
2、代码层面,即:连接数据库的jdbc编码,写法不对

三、顺藤摸瓜

1、试一下第一种解决方案:看一下mysql.ini文件,
本人电脑的mysql.ini文件位置是在:C:\ProgramData\MySQL\MySQL Server 5.7
在这里插入图片描述

打开文件,第66行和99行,都加上utf8,记得放开注释,即去掉 # 号,
在这里插入图片描述
修改完成之后,保存,并重启mysql服务。

如何重启mysql服务呢?
1、使用windows + r 快捷键,打开运行窗口,输入services.msc 命令,点击确定
在这里插入图片描述
2、打开服务界面之后,找到mysql服务
在这里插入图片描述
3、右击鼠标,选择 重新启动,即可
在这里插入图片描述
4、重新执行一下,mybatis的程序代码,往数据库中插入一条数据,发现中文不再乱码了。
在这里插入图片描述
5、既然第一种方案,可以解决,那说明第二种方案,应该是没有问题的,结合网上的各种解决方案,我这边把第二种也放上来。

  1. <!-- 1. 数据源 : DriverManagerDataSource -->
  2. <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  3. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  4. <property name="url" value="jdbc:mysql://127.0.0.1:3306/uct?useUnicode=true&characterEncoding=utf-8"/>
  5. <property name="username" value="root"/>
  6. <property name="password" value=""/>
  7. </bean>

能够看到在链接的url后添加了useUnicode和characterEncoding的值,设定为utf-8

这里有一点须要注意的是,在xml配置文件中,须要将’&‘符号转义,因此这里要写成’&’

若是是在配置文件中,则没法转义,应为: xxxx.jdbc.url=jdbc:mysql://127.0.0.1:8080:3306/uct?useUnicode=true&characterEncoding=UTF-8

注意注意就是不要直接对以前失败的表insert,那样还是错的,可以新建表或者修改原表的字符集!!!

发表评论

表情:
评论列表 (有 0 条评论,165人围观)

还没有评论,来说两句吧...

相关阅读