文档章节

mybatis连接mysql数据库插入中文乱码

有资本再款
 有资本再款
发布于 2015/09/09 22:34
字数 561
阅读 128
收藏 1

对于mysql数据库的乱码问题,有两中情况:

1. mysql数据库编码问题(建库时设定)。

2. 连接mysql数据库的url编码设置问题。


对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集。我试过修改现有数据库字符集为UFT

-8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???)。重建库时选择字符集为UTF-8之后,中文正常显示了。


对于第二个问题,是这样 的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插入中文显示完全正常。但是使用mybaits插入数据时,中文显示成了"???"这样的乱码。但从数据库获取的中文不会乱码。跟 踪数据库操作,SQL语句中的中文还是显示正常的,但是插入到mysql数据库后就乱码了,于是判断可能是数据库连接的问题。后来在网上找了下资料,发现 确实可以为mysql数据库的连接字符串设置编码方式,如下:

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8

添加了useUnicode=true&characterEncoding=utf8参数之后,插入中文就正常了。


添加的作用是:指定字符的编码、解码格式。

     例如:假设mysql数据库用的是GBK编码(也可能是其它,例如Ubuntu下就是latin1),而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEncoding=UTF-8 ,那么作用有如下两个方面:

1. 存数据时:

     数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。

2.取数据时:

     在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。


本文转载自:http://blog.csdn.net/zht666/article/details/8955952

上一篇: Android Activity学习
下一篇: SpringMVC文件上传
有资本再款
粉丝 5
博文 99
码字总数 16312
作品 0
黄冈
私信 提问
java通过mybatis往mysql数据库插入数据乱码

今天发现了一个问题,通过mybatis往数据库插入数据后,在数据库中所插入的中文乱码,开始以为是mysql编码设置问题,于是设置了mysql数据库的编码,但是不起作用,自己写的sql语句有中文插入也...

留给明天
2016/01/29
114
0
Mybatis问题点汇总

1、在mybatis链接mysql时候,出现中文乱码情况,排除了不是数据库的编码问题 jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8 添加了useUnicode=true&characterEn...

吹比龙
2016/04/28
37
0
Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一、问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二、解决办...

Qiu_CJ
2018/04/12
0
0
关于java在用jdbc技术往mysql数据库插入数据出现乱码问题的解决方案

昨天,用练习java语句时候,尝试往mysql数据库表中的tb_emp表中添加,数据时候遇到了中文乱码问题,经过百度查询原来是我在连接数据库时候没设置成和建表时的编码一致所导致的。我在mysql用可...

寻千
2016/11/15
49
0
navicat for mysql插入中文乱码

如题,用navicat里的命令行执行insert语句后中文显示乱码,而用windows dos窗口执行insert 语句时则正常显示。首先确定我在navicat中创建数据库时编码选的就是utf-8。 网上查了很多,方法有:...

liuhuics10
2016/03/01
494
0

没有更多内容

加载失败,请刷新页面

加载更多

【0911】linux软件包安装和卸载

【0911】linux软件包安装和卸载 一、安装软件包的三种方法 1、rpm工具:与win中的exe安装包类似,红帽子公司包管理系统 2、yum工具:属于一种用python开发的工具,支持自动的安装依赖的包 3、...

飞翔的竹蜻蜓
31分钟前
3
0
【外行学IT】手机网页自适应之rem和viewport

在写手机网页时,对于像素的问题会非常困惑,初学者很多时候会因为那么一个小点的问题解决不了,或者无法理解透彻就放弃了学习。 我在学习写手机网页时也困惑了许久,出现过下面的问题: 图片...

前端老手
42分钟前
5
0
三、Java设计模式之单一职责原则

定义:不要存在多于一个导致类变更的原因。 一个类、接口、方法只负责一项职责 优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险

东风破2019
49分钟前
4
0
搭建高可用MongoDB集群(分片)

搭建高可用MongoDB集群(分片) KaliArch关注1人评论28269人阅读2017-12-04 21:57:41 MongoDB基础请参考:https://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:https:/...

linjin200
今天
6
0
Pandas DataFrame创建方法大全

Pandas是Python的数据分析利器,DataFrame是Pandas进行数据分析的基本结构,可以把DataFrame视为一个二维数据表,每一行都表示一个数据记录。本文将介绍创建Pandas DataFrame的6种方法。 创建...

汇智网教程
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部