详解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
  • asp之家 网络编程 m.aspxhome.com