Mybatis + Mysql 插入数据时中文乱码问题
2024-10-11 00:23:53
近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql。
今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下。
对于数据库操作中出现的中文乱码,一般有两种情况:
- 数据库本身设置
- 连接数据库时,jdbc的编码设置
对于第一种情况,可以查看自身的mysql设置:
show variables like '%character%'
我的问题是第二种情况,需要在mybatis的配置文件中设置, 之前我的连接字段是:
<!-- 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"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
修改后为:
<!-- 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&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
最新文章
- django创建项目
- 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
- 使用豆瓣的pypi源
- libmysqlclient.so.15: cannot open shared object file: No such file or directory
- 【转】服务器证书安装配置指南(Weblogic)
- 使用Maven打包项目并上传到Linux服务器
- C#操作CAD-初始化、引用dll
- sql还原(.sql文件还原)
- Factorials
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)
- nasm学习资料
- extentReport生成测试报告
- vue中遇到的一个点击展开或收起并且改变背景颜色的问题。
- 转:Spring AOP中的动态代理
- HACK字体安装
- MFC控件Slider Control的使用
- 11th 本周工作量及进度统计
- webkit webApp 开发技术要点总结[转]
- 不可恢复的生成错误mergemod.dll 2.0.2600.0
- 通过 WCF 实现点对点文件共享 z