详解JDBC对Mysql utf8mb4字符集的处理
作者:留歌36 发布时间:2024-01-14 12:01:43
标签:JDBC,Mysql,utf8mb4
写在前面
在开发微信小程序的时候,评论服务模块希望添加上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


猜你喜欢
- Pytorch统计参数网络参数数量def get_parameter_number(net): total_num
- 很多的朋友一而再,再而三的在Server.Mappath上卡壳,cnbruce也是一遍两遍地重复,还是不能全部解决,所以通过下面的举例,希望
- 1,WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模
- 我就废话不多说了,大家还是直接看代码吧!'''Created on 2018-4-4'''k
- 直接奔入主题看下面pywebio程序,实现了Python的简陋在线编辑器from pywebio.input import *from py
- 300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下使用链表来实现class Node(object): def
- 1. 引言词云图可以让我们方便地识别出文本中的关键词,其中单词的大小代表它们的频率。有了这个,我们甚至在阅读之前就可以很好地了解文本的内容。
- var long2="1988-0w-07";alert(long2.substring(0,4)+"----
- 调用re库,通过使用compile、findall获取字符串中的emailimport reemail=re.compile(r
- 应用场景:有时需要测试插入数据库的记录来测试,所以就非常需要用到这些脚本。创建表:CREATE TABLE `tables_a` ( &nb
- Blackfriday是在Go中实现的Markdown处理器。您可以安全地输入用户提供的数据,速度快,支持通用扩展(表,智能标点符号替换等)
- 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权
- 本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下这也是周志华《机器学习》的习题9.4。 数据集是西
- 亲身实践安装mysql,用时居然花费了三个小时,在有那么多教程的情况下,依然在不该花费时间的路上浪费了太多时间。希望这篇文章能够帮助大家少走
- 1. SeriesSeries 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。1.1 下边生成一个最简单的Se
- 本文实例讲述了php简单获取复选框值的方法。分享给大家供大家参考,具体如下:html:<form id="form1&quo
- 以下代码涉及 Vue 2.0 及 ES6 语法。目标纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式、长宽、大小的
- 自打 Lokesh Dhakar 创造了第一个lightbox应用以来, 相册和弹出窗口方式便跨进了新的时代, 甚至那些lightbox应用
- Python 读取 .gz 文件读取.gz 文件需要使用gzip 包,如果没有安装可以自行在终端安装pip install gzipimpo
- 一. 数据的格式首先我们需要x,y,z三个数据进行画图。从本实验用到的数据集KITTI 00.txt中举例:1.000000e+00 9.0