博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC对Mysql utf8mb4字符集的处理
阅读量:7095 次
发布时间:2019-06-28

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

写在前面

在开发微信小程序的时候,评论服务模块希望添加上emoji表情,但是emoji表情是4个字节长度的,所以需要进行设置

当前项目是JAVA编写, 使用JDBC连接操作数据库, 如下针对的JDBC操作的解决方案

一.JDBC的URL的正常操作

jdbc.url=jdbc:mysql://HOST:3306/your_database?useUnicode=true&characterEncoding=utf8&useSSL=false

在连接配置中,声明UTF-8的字符编码,

但是现在需要存储emoji表情,所以在存储emoji字符串时会报错.

二.重新配置为emoji表情的utf8mb4字符集类型

jdbc.url=jdbc:mysql://HOST:3306/your_database?useUnicode=true&characterEncoding=utf8mb4&useSSL=false

报错:客户端连接时报错,不支持该字符集

上述问题的解决方案

三.URL连接配置改成

jdbc.url=jdbc:mysql://HOST:3306/your_database?useSSL=false

同时数据库配置文件my.cnf 进行相应的修改

[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci

重启服务MySQL服务

问题到此解决

ps:假如你使用的是Docker运行的mysql,你想找到my.cnf文件的话,

步骤如下:

1.进入mysql容器
docker exec -it 随机的容器名(或者容器ID) bash

2.find / -name my.cnf

通常在:/etc/mysql/my.cnf

3.需要更改这个文件,新增上面的信息

我这里的操作是使用 >> 进行追加
cd /etc/mysql
echo [client] >> my.cnf

这样一行一行的进行追加(因为好像容器里没有vi这个命令)

转载于:https://www.cnblogs.com/liuge36/p/9882785.html

你可能感兴趣的文章
51nod 1244 莫比乌斯函数之和(杜教筛)
查看>>
mybatis generator配置,Mybatis自动生成文件配置,Mybatis自动生成实体Bean配置
查看>>
如何把网页变成灰色效果
查看>>
spring5 reactive
查看>>
try-with-resources语句
查看>>
Ubuntu下安装arm-linux-gnueabi-xxx编译器【转】
查看>>
bootstrap之 formgroup表单布局样式
查看>>
[k8s]svc里知识点小结
查看>>
响应式流API的构建基础
查看>>
thinkphp5项目--个人博客(三)
查看>>
WebStorm 之 Cordova 环境搭建
查看>>
Linux笔记
查看>>
Java并发编程_wait/notify和CountDownLatch的比较(三)
查看>>
固态硬盘(Solid State Drives)
查看>>
鹅厂优文|主播pk,如何实现无缝切换?
查看>>
Building an (awesome) API with NancyFX 2.0 + Dapper
查看>>
崔永元手撕范冰冰,小崔凭什么能赢?
查看>>
一个老鸟发的公司内部整理的 Android 学习路线图
查看>>
mount过程分析之一(基于3.16.3内核)【转】
查看>>
AnswerOpenCV一周佳作欣赏(0615-0622)
查看>>