对于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格式编码数据,最后再将数据返回给客户端。

mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码相关推荐

  1. java mysql插入数据乱码_java向mysql数据库插入数据显示乱码的问题

    在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码"???"的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web ...

  2. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)

    本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动到qt连接mysql数据库(一.编译连接前准备) [全教程]qt连接mysql--从qt编译mysql驱动到qt连接my ...

  3. macOS安装MySQL,使用Navicat连接MySQL数据库/2022

    macOS安装MySQL,使用Navicat连接MySQL数据库/2022 intel chip 下载安装文件 进入官网 MySQL :: MySQL Downloads 选择页尾MySQL Comm ...

  4. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)

    一.说明 电脑系统:win10 qt版本:5.13.2和5.14.1(测试均成功) mysql版本:MySQL-5.5 本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动 ...

  5. 关于数据库插入中文乱码问题

    关于数据库插入中文乱码问题 第一步:到数据库my.ini中查看字符集设置 需要将下的默认编码 default-character-set=utf8 改为 default-character-set=g ...

  6. php设置mysql查询编码,php连接mysql时怎么设置编码方式

    php连接mysql时怎么设置编码方式 php连接mysql数据库时,也就是在mysql_connect()语句之后添加"mysql_query("set names utf8&q ...

  7. 向数据库插入中文乱码

    又遇到乱码问题,这个编码问题有时候真是让人头大.找了半天都找不出来哪里出了问题,页面和数据库均是使用utf8编码,但是还是出现了乱码.直接在命令行下向数据库插入中文数据时不会出现乱码,在程序中使用代码 ...

  8. 使用PLSQL Developer往 Oracle数据库插入中文数据变问号

    使用PLSQL Developer往 Oracle数据库插入中文数据变问号 问题描述 使用PLSQL Developer往 Oracle数据库插入中文数据变问号 问题原因 通过查看我服务器端的编码,使 ...

  9. python连接oracle数据库 插入clob类型数据

    python连接oracle数据库 插入clob类型数据 连接数据库 import cx_Oracle as cx #导入模块 con = cx.connect('root', 'root123', ...

最新文章

  1. 14 个 Spring MVC 顶级技巧,随时用随时爽,一直用一直爽
  2. Spring在Java领域的统治地位:86% 的Java开发者依赖它!
  3. 《走进git时代系列一》 你该怎么玩?
  4. 谈谈 ForkJoin 框架的设计与实现
  5. Ubuntu14.04设置PATH环境变量(一)
  6. 虚拟机删除后服务器内存,卸载虚拟机后仍占内存
  7. 爱恨交织的编程语言 是什么吸引了你
  8. 人体轮廓_人体艺术:赏世界著名的女人体油画:身体轮廓
  9. spring 启动完成后事件监听器处理
  10. 快速排序的两种实现方法(js)
  11. 想象力惊人!只凭一句话,AI就能脑补出动漫小片
  12. RESTFul API 接口文档模板
  13. 形式验证Formality
  14. 防火墙的策略路由PBR
  15. bilibili老版本_bilibili网页版下载
  16. 2021 An Updated Comparison of Four Low Earth Orbit Satellite Constellation Systems to Provide Global
  17. 海思3516开发记录-AAC音频解码
  18. CA策略发布目录SPC
  19. STM32学习笔记(13)——模数转换ADC
  20. keil5 中的wraing:no previous prototype SystemInit

热门文章

  1. python字典成绩_python字典总结
  2. android判断密码字符串,逆向分析苏宁易购安卓客户端加密到解密获取明文密码(附demo验证) | WooYun...
  3. openwrt多拨插件_折腾小日记三:爱快PKopenwrt多拨实测
  4. c语言求英文字母编号,菜鸟求助,写一个随机输出26个英文字母的程序
  5. cookie helper.php,CookieHelper cook crud 工具类
  6. 第十一章Web服务器的安装与配置
  7. 【2017-05-25】WebForm母版页
  8. loadRunner函数之lr_set_debug_message
  9. app.config中的值获取及设置 以及对log4net配置
  10. 转 windows核心编程 学习笔记 目录