mysql数据库想支持emoji表情可不可以不改数据库的字符集

现在手上有个bug,是ios端的emoji表情插不进数据库的问题,在网上查了很久都说要改数据库的字符集.
可是dba说改库的字符集代价太多还给我回复:
**mysql的字符集设置有 连接字符集,客户端字符集,默认字符集,表和字段的字符集;
所以只需要把存储emoji表情字符的表或字段字符集改为utf8mb4就可以存储;但是需要读取和存储需要确保连接也指定字符集为utf8mb4;
请确认表或字段是否已修改完全,同时连接配置是否正确并生效**

请问有没什么方法只改表的字符集,并且在客户端处理字符就可以解决问题的方法

我试过创建连接时设置characterEncoding=utf8mb4,会报
Unsupported character encoding 'utf8mb4'.

mysql-connector-java 和 mysql数据库的版本都是最新的

请高人解答啊

可以,从数据库查完后用iconv或mb_convert_encoding转换字符编码,但最好还是从数据库层面去解决追问

现在的问题是从客户端过来的表情插入不到库中,不是库里的读不出来啊

温馨提示:内容为网友见解,仅供参考
无其他回答

使MySQL支持Emoji表情
MySQL不支持Emoji表情时,使用utf8字段编码无法正确显示这些表情符号。这是因为utf8编码格式仅使用3个字节,无法表示完整的UTF-8字符,而Emoji表情通常需要4个字节的编码。为解决此问题,推荐使用utf8mb4格式,它使用4个字节表示UTF-8字符,从而支持Emoji表情。解决办法如下:一、对于需要支持Emoji表情的特定...

怎么将emoji表情存入mysql
首先需要知道在UTF8编码方式有可能是2,3或4个字节。而Emoji表情的UTF8是4个字节,但是在mysql中设置utf8编码最多是3个字节,所以emoji的数据是无法存入。解决方案就是:将Mysql的编码从utf8转换成utf8mb4,是数据库支持4个字节的utf8编码,有下边三种方法:1. 修改my.cnf [mysqld]character-set-...

booost怎么处理emoji
而 emoji 占有 4 个字节的存储空间,所以自然保存不了。但是从 MYSQL5.5 开始,可支持 4 个字节 UTF 编码,只要将编码标记成 utf8mb4 即可。并且utf8mb4 是兼容 UTF8 的。1.设置数据库,表,字段编码为utf8mb4_ 根据自己的需求选择设置字符集编码,可以手动设置(直接选中某个字段设置编码方式。

mysql 插入emjoy报错如何解决,已经将字段设置为utf8mb4。网上很多方法...
如果可以, 解决的方向是调整客户端连接数据库所使用的字符集, 一般和连接数据库使用的driver有关;如果不行, 再确认下mysql服务的[mysqld]配置下是否以下配置 skip-character-set-client-handshakecharacter-set-server = utf8mb4collation-server = utf8mb4_general_ci ...

爬虫写入mysql表里的数据都是这种Unicode编码,怎么转为可读文字_百度知 ...
unicode emoji是4个字节的,存不进MySQL里,找到一个转义的库code.iamcal.com\/php\/emoji\/,但是转为Unicode之后,还是4个字节,一样存不进,应该说根本没转。转为其他格式的emoji又怕以后新增了表情不好做,你们在不改数据库编码的前提下,是怎么弄的?方法1:base_encode64 这种方法是可以,但是旧...

MySQL如何支持中文字符集mysql中中文
MySQL是广泛使用的关系型数据库管理系统,其支持多种字符集,包括中文字符集。MySQL目前最常用的中文字符集是utf8,utf8mb4,gbk,gb18030等。utf8是一种变长的Unicode编码字符集,可以支持所有Unicode字符。utf8mb4是对utf8的扩展,可以支持更多的Unicode字符,如emoji表情。gbk是中文字符集,包含了所有...

java如何处理emoji表情,并存入数据库
这个很简单呀 你把数据库或者对应表\/字段的编码格式从utf8改成utf8mb4就可以存储emoji表情了,utf8对应的字节数不够所以会报错,mysql8默认的就是utf8mb4,可以了解下

navicat建立mysql的表怎么保存汉字啊,按网上的改了可以保存name那一列...
一般使用的是utf8和utf8_general_ci;如果你需要支持emoji表情的话,就用utf8mb4和utf8mb4_general_ci

如何破译乱码?
那么Emoji字符表情会对我们平时的开发运维带来什么影响呢?最常见的问题就在于将他存入MySQL数据库的时候。一般来说MySQL数据库的默认字符集都会配置成UTF-8(三字节),而utf8mb4在5.5以后才被支持,也很少会有DBA主动将系统默认字符集改成utf8mb4。那么问题就来了,当我们把一个需要4字节UTF-8编码才能表示的字符存入...

为什么不建议在 MySQL 中使用 UTF-8 ?
一、报错回顾在尝试将包含emoji文字直接写入SQL中时,执行INSERT语句后,出现了错误提示:“Incorrect string value: '\\xF0\\x9F\\x98\\x93' for column 'NAME' at row 1”。这表明MySQL在处理包含emoji符号的字符串时遇到了问题。修改数据库编码、系统编码以及表字段的编码格式为utf8mb4后,问题得以...

相似回答