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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: windows下mybatis插入mysql数据中文乱码问题解决

一、问题

使用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. 数据源 : DriverManagerDataSource -->
    <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/uct?useUnicode=true&amp;characterEncoding=utf-8"/>
        <property name="username" value="root"/>
        <property name="password" value=""/>
    </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,那样还是错的,可以新建表或者修改原表的字符集!!!


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
21 1
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
3天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
13 0
|
29天前
|
Java 数据库连接 mybatis
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
19 0
|
1月前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
20 1
|
1月前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1
|
分布式计算 关系型数据库 MySQL
E-Mapreduce如何处理RDS的数据
目前网站的一些业务数据存在了数据库中,这些数据往往需要做进一步的分析,如:需要跟一些日志数据关联分析,或者需要进行一些如机器学习的分析。在阿里云上,目前E-Mapreduce可以满足这类进一步分析的需求。
4935 0
|
3天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
18天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
7天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
33 4