返回顶部
首页 > 资讯 > 数据库 >JDBC对Mysql utf8mb4字符集的处理
  • 567
分享到

JDBC对Mysql utf8mb4字符集的处理

2024-04-02 19:04:59 567人浏览 独家记忆
摘要

在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围 在存储数据时, 出现部分特殊字符存储字符串失败.

开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围

在存储数据时, 出现部分特殊字符存储字符串失败.

服务端解决方案

查阅Mysql官方文档时,给出如下支持utf8转utf8mb4的官方处理办法

https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-conversion.html

上述的步骤只是针对server端的配置.

对于客户端需要额外特殊的处理

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

JDBC的URL之前的配置方式

String url = "jdbc:mysql://HOST:PORT/DATABASE?useUnicode=true&characterEncoding=UTF-8";

在连接配置中,声明UTF-8的字符编码,在目前的存储需求上来讲,在存储emoji字符串时会报错. 就算服务端的数据库设置了utf8mb4字符集类型

客户端修改成如下配置

String url = "jdbc:mysql://HOST:PORT/DATABASE?useUnicode=true&characterEncoding=utf8mb4";

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

上述问题的解决方案

连接配置改成

String url = "jdbc:mysql://HOST:PORT/DATABASE";

同时数据库配置文件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服务

问题到此解决

您可能感兴趣的文档:

--结束END--

本文标题: JDBC对Mysql utf8mb4字符集的处理

本文链接: https://lsjlt.com/news/43847.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JDBC对Mysql utf8mb4字符集的处理
    在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围 在存储数据时, 出现部分特殊字符存储字符串失败. ...
    99+
    2024-04-02
  • MySQL 字符集utf8、utf8mb3、utf8mb4
    首先想要了解MySQL的字符集,就需要去官方文档看看字符集是如何介绍的。英语不错的话,看官方文档应该是没问题。在搜索框里搜一下就可以找到相关的解释。我就在这里整理一下,以便后期查看。字符集在官方文档下面...
    99+
    2024-04-02
  • MySQL真正的UTF-8字符集utf8mb4
    MySQL有个utf-8的坑 MySQL 的 utf8 实际上不是真正的 UTF-8。utf8 只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。 MySQL 一直没有修复这个 bug,他们在 2010 年...
    99+
    2022-04-12
    MySQL真正的UTF-8字符集utf8mb4
  • 关于mysql设置utf8mb4字符集
    由于mysql默认的utf8其实是三个字节,所以如果字段里有emoji表情,就会放不进去数据库,报错形如 Internal Exception: java.sql.SQLException: Incorrect string value: ...
    99+
    2023-08-21
    mysql 数据库 java
  • MySQL字符集怎么从旧字符集迁移到utf8mb4中
    MySQL字符集从旧字符集迁移到utf8mb4可以通过以下步骤实现: 确保数据库和表使用的是旧字符集,可以通过以下命令查询数据库和...
    99+
    2024-04-09
    mysql
  • MySQL中utf8和utf8mb4字符集有什么区别
    MySQL中的utf8字符集最多只能存储3字节的Unicode字符,而utf8mb4字符集则可以存储所有4字节的Unicode字符。...
    99+
    2024-04-09
    MySQL
  • utf8mb4的utf8mb4_0900_ai_ci如何理解?mysql新建库如何选择字符集?
    MySQL字符集详解_永远是少年啊的博客-CSDN博客_mysql 字符集今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL字符集。一、MySQL字符集简介二、查看和设置MySQL字符集(一)查看当前字符集设置(二)更改默认字符...
    99+
    2023-09-04
    mysql 数据库
  • 怎么在MySQL中将字符集utf8修改为utf8mb4
    本篇文章给大家分享的是有关怎么在MySQL中将字符集utf8修改为utf8mb4,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。[client]...
    99+
    2024-04-02
  • MySQL中如何处理字符集
    这篇文章给大家介绍MySQL中如何处理字符集,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  MySQL的字符集怎么处理  发送请求  客户端(character_set_client...
    99+
    2024-04-02
  • 技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4
    作者:胡呈清 整理 MySQL 8.0 文档时发现一个变更:默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。 当时的需求背景是:...
    99+
    2016-03-25
    技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4
  • mysql字符集与校对集详解
    设置数据存储编码格式 1)utf8 2)utf8mb4 (支持Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上)) 校对集 collate 每种字符集都对应一些校对集,校对集会...
    99+
    2017-01-23
    mysql字符集与校对集详解
  • mysql乱码现象及对字符集的理解
    数据库版本是5.7.17 现象1 Navicat Premium导sqlserver数据到mysql时,发现一些表只导了表结构没有导入数据,一些表导入了部分数据,一些表数据全部导入成功 查找原因: 1....
    99+
    2024-04-02
  • MySQL中文乱码处理_字符集转换处理
    -- 中文乱码修复 -- 查看MySQL服务参数设置mysql> show variables like '%character%';+--------------------------+-----...
    99+
    2024-04-02
  • MySQL的字符集
    #1, 字符集相关的参数名和概念   MySQL的字符集设置比较自由。可以设置很多种组合,相关的变量和参数有:      (root@localhost)[sample3]> show global ...
    99+
    2024-04-02
  • Linux下mysql字符集问题如何处理
    小编给大家分享一下Linux下mysql字符集问题如何处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!4.1之前的 MySQL...
    99+
    2024-04-02
  • 【MySQL基础】字符集与校对集详解
    序号系列文章1【MySQL基础】MySQL介绍及安装2【MySQL基础】MySQL基本操作详解3【MySQL基础】MySQL基本数据类型4【MySQL基础】MySQL表的七大约束 文章目录 前言字符集与校对集1,字符集与校对集的概...
    99+
    2023-08-18
    mysql 数据库 服务器
  • MySQL常见字符集对比分析
    作者:禅与计算机程序设计艺术 1.简介 随着互联网信息的不断增长,数据库系统也越来越复杂,需要更高的性能和可用性。为了提高数据库处理数据的效率和可靠性,越来越多的人开始选择MySQL作为其数据库管理...
    99+
    2023-10-25
    大数据 人工智能 语言模型 Java Python 架构设计
  • PHP与MySQL交互时怎么处理字符集
    在PHP与MySQL交互时,处理字符集是非常重要的。以下是一些处理字符集的方法: 设置PHP脚本的字符集:可以在PHP脚本中使用h...
    99+
    2024-04-09
    mysql PHP
  • Mysql字符集引发的主从报错怎么处理
    小编给大家分享一下Mysql字符集引发的主从报错怎么处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8mb4
    在创建数据库时,我们经常会需要填写数据库名、字符集、排序规则; 而本文主要讲述常用的存储字符集 utf8 和 utf8mb4;排序字符集 utf8mb4_unicode_ci 和 utf8mb4_ge...
    99+
    2023-09-05
    mysql ci 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作