博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中文乱码问题
阅读量:5945 次
发布时间:2019-06-19

本文共 844 字,大约阅读时间需要 2 分钟。

本来以为很简单的问题, 配置了我大半天, 这里记录一下。

 

表现为:在navicat中写语句, 没有乱码;可是在通过spring-boot项目过去,就有乱码。

检查过数据库配置, 有这一句:

jdbc.url=jdbc:mysql://xxx:3306/database?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE

 

是个demo项目而已, 换了另外一个机器的数据库, 是正常的。先确定了是数据库配置问题。 

 

通过下面的命令发现, 有latin

show variables like 'character_set_%';show variables like 'collation%';

 

 

然后就是my.cnf的各种折腾, 本来以为就一句 default-character-set=utf8mb4  完事。经过多次调试后, 下面这样配置是可以的:

[client]default-character-set=utf8mb4[mysqld]collation-server = utf8mb4_general_ciinit-connect='SET NAMES utf8mb4'character-set-server = utf8mb4[mysql]default-character-set = utf8mb4

 

最后命令行的方式重建数据库,确定是可以了

 

CREATE DATABASE mydbCHARACTER SET utf8mb4COLLATE utf8mb4_general_ci

 

PS:mysql官方推荐使用 utf8mb4, 4byte结构, 满足emoj、某些生僻中文字的问题。 utf8mb4是mysql里面的定义, 在java还是叫utf-8

 

转载于:https://www.cnblogs.com/ELMND/p/10452447.html

你可能感兴趣的文章
iOS边练边学--iOS中的(ARC下)单粒模式(GCD实现)
查看>>
php get_magic_quotes_gpc()函数用法介绍
查看>>
SQL to Java code for Elasticsearch
查看>>
Java RMI之HelloWorld程序以及相关的安全管理器的知识
查看>>
FlatBuffers
查看>>
美团HD(5)-选择城市
查看>>
$.when()方法监控ajax请求获取到的数据与普通ajax请求回调获取到的数据的不同
查看>>
pthread_mutex_t
查看>>
LR11.0 下载及破解
查看>>
Java基础-绘图技术
查看>>
又转出61.8万个ETH,EOS不疯狂不成魔
查看>>
程序员面试IT公司的33个小贴士
查看>>
多款C系列手机亮相三星中国论坛,更加注重中国用户体验
查看>>
云南中医学院更名为云南中医药大学
查看>>
人社部:突出就业优先政策主线 全力确保就业局势稳定
查看>>
关键时刻还是要看阿里,达摩院发布自主研发AI芯片
查看>>
「百年育才」计划启动港股IPO,新高考改革下的“志愿填报辅导”市场迎来窗口期?...
查看>>
浅谈高性能数据库集群——读写分离
查看>>
HenCoder Android 开发进阶:自定义 View 1-4 Canvas 对绘制的辅助
查看>>
angular ui-router:简单的单页面嵌套路由的实现过程
查看>>