详解JDBC对Mysql utf8mb4字符集的处理
作者:留歌36 时间:2024-01-14 12:01:43
写在前面
在开发微信小程序的时候,评论服务模块希望添加上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 = FALSE
character-set-server = utf8mb4
collation-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://blog.csdn.net/liuge36/article/details/80964339
标签:JDBC,Mysql,utf8mb4
0
投稿
猜你喜欢
JavaScript中windows.open()、windows.close()方法详解
2024-04-18 09:30:57
Python socket模块ftp传输文件过程解析
2021-04-17 02:22:59
python直接访问私有属性的简单方法
2022-09-18 12:03:47
asp连接各种数据库代码
2008-03-11 11:16:00
Swoole webSocket消息服务系统方案设计详解
2023-06-12 16:16:32
小白教程|一小时上手最流行的前端框架vue(推荐)
2024-04-30 10:34:20
Numpy之将矩阵拉成向量的实例
2023-10-13 10:44:01
sqlserver中触发器+游标操作实现
2024-01-20 19:25:42
Python自定义scrapy中间模块避免重复采集的方法
2022-02-19 13:32:44
新建文件时Pycharm中自动设置头部模板信息的方法
2021-08-18 11:56:46
Pandas过滤dataframe中包含特定字符串的数据方法
2021-10-11 13:39:08
pandas筛选某列出现编码错误的解决方法
2021-10-18 02:48:05
matplotlib在python上绘制3D散点图实例详解
2022-01-16 03:11:11
Python中threading库实现线程锁与释放锁
2021-11-13 10:26:49
MYSQL必知必会读书笔记第四章之检索数据
2024-01-18 03:34:40
异地远程访问本地SQL Server数据库
2024-01-18 20:00:18
MySQL存储过程和函数的操作(十二)
2024-01-26 03:45:26
django实现分页的方法
2023-07-04 02:57:44
mysql自动增量备份的实例方法(本地备份与远程备份)
2024-01-16 12:28:32
python去除所有html标签的方法
2021-02-23 20:49:00