精华内容
下载资源
问答
  • 数据库保存emoji表情报错解决方法

    千次阅读 2019-06-17 15:39:11
    数据库保存emoji表情报错解决方法 修改数据库字符集为utf8mb4 修改表字符集为utf8mb4 修改表字段的字符集为utf8mb4 项目引入mysql-connector-java的jar包版本号需为5.4以上(高版本连接时需要加cj) 如:<...

    数据库保存emoji表情报错解决方法

    1. 修改数据库字符集为utf8mb4
    2. 修改表字符集为utf8mb4
    3. 修改表字段的字符集为utf8mb4
    4. 项目引入mysql-connector-java的jar包版本号需为5.4以上(高版本连接时需要加cj)
      如:<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
    5. 修改连接url的后缀为useUnicode=true&characterEncoding=UTF-8
    6. 修改服务器etc->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
    init_connect='SET NAMES utf8mb4'
    

    在这里插入图片描述

    7.重启mysql即可services mysql restart

    展开全文
  • 项目中做微信登录,为了支持emoji表情所以修改了字段的字符集为utf8mb4, 核对为utf8mb4_general_ci。但是根据昵称来查询出现以下结果 ![图片说明]...
  • mysql数据库无法存入表情解决方法

    千次阅读 2018-12-26 14:58:51
    mysql数据库无法存入表情解决方法 mysql数据库的默认字符集utf8,只能存储3个字节的数据,标准的emoji表情是4个字节,所以要使用utf8mb4兼容四个字节 可以直接修改数据库的字符集,先查看 show variable like '%...

    mysql数据库无法存入表情的解决方法

    mysql数据库的默认字符集utf8,只能存储3个字节的数据,标准的emoji表情是4个字节,所以要使用utf8mb4兼容四个字节

    可以直接修改数据库的字符集,先查看

    show variables like '%character%';
    

    如果是utf8可以直接修改为utfmb4

    set character_set_client = utf8mb4;
    set character_set_server = utf8mb4;
    set character_set_connection = utf8mb4;
    set character_set_database = utf8mb4;
    set character_set_results = utf8mb4;
    set collation_connection = utf8mb4_general_ci;
    set collation_database = utf8mb4_general_ci;
    set collation_server = utf8mb4_general_ci;
    

    修改库的字符集

    alter database 库名 character set utf8mb4 collate utf8mb4_general_ci
    

    修改表的字符集

    alter table 表名 character set utf8mb4 collate utf8mb4_general_ci
    
    展开全文
  • 解决数据库插入emoji表情符号问题

    千次阅读 2018-07-16 19:57:32
    在新项目的开发中,突然遇到一个问题数据插入数据库报错误,经过问题的复现以及调试发现,当数据插入到数据库的时候报如下错误: Incorrect string value: '\xF0\x9F\x99\x88\xF0\x9F...' for column 'nickname' ...

    在新项目的开发中,突然遇到一个问题数据插入数据库报错误,经过问题的复现以及调试发现,当数据插入到数据库的时候报如下错误:

    Incorrect string value: '\xF0\x9F\x99\x88\xF0\x9F...' for column 'nickname' at row 1

     通过问题复现以及日志解析后发现:原来测试人员在输入的时候插入了表情符号emoji字符,根据查找资料解决方案如下:

    主要针对MySql数据库和阿里的Druid数据连接池

    1.MySQL的版本不能太低,低于5.5.3的版本不支持utf8mb4编码。select version();
    2.JDBC驱动版本不能太低,mysql connector版本高于5.1.13。
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    3.将表中的对应字段,其字符集修改成utf8mb4。
    4.最后修改druid数据源的配置,增加一行:
        <property name="connectionInitSqls" value="set names utf8mb4;"/>
    5.检查下jdbc连接串的设置:
        jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8
        这里要注意:有人建议删除useUnicode=true&characterEncoding=utf8,但好像我这里会发生保存数据时发生乱码的现象。
    展开全文
  • mysql数据库存入表情

    千次阅读 2018-08-24 22:46:12
    Incorrect string value: ‘\xF0\...Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。 我的解决方案是这样的 1.在mysql的安装目录下找到my.ini,作如下修改: [mysqld] ch...

    Incorrect string value: ‘\xF0\x9F…’ for column ‘XXX’ at row 1
    这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。

    我的解决方案是这样的

    1.在mysql的安装目录下找到my.ini,作如下修改:
    [mysqld]

    character-set-server=utf8mb4

    [mysql]

    default-character-set=utf8mb4

    修改后重启Mysql

    1. 将已经建好的表也转换成utf8mb4
      命令:

    更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)

    然后就OK了。网上流传的一个版本增加了一个步骤,就是把mysql环境变量将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4,不过我没有做这一步,也正常,所以可能是这一步是多余的,如果需要改,则按照下面介绍做修改。

    3修改mysql配置文件my.cnf(windows为my.ini)
    my.cnf一般在etc/mysql/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
    init_connect=’SET NAMES utf8mb4’

    参考文章:

    http://blog.csdn.NET/likendsl/article/details/7530979

    展开全文
  • 异常:java.sql.SQLException: Incorrect string ... MySql的utf-8编码只支持3个字节的数据,而移动端的emoji是四个字节的数据,如果直接往utf-8编码的数据库中插入表情,就会报上面的错误。  utf8mb4编码兼容ut...
  • 解决获取表情数据存入数据库问题 1.修改数据库的编码和表的编码utf8mb4,排序规则:utf8mb4_unicode_ci 2.去掉配置文件中jdbc url配置后加 useUnicode=true&characterEncoding=utf-8(作用:指定字符的编码、解码...
  • 用获取到的微信用户名【base64_encode()】加密后存入数据库 取出时用【base64_decode()】解密一下就OK了
  • 从应用层的方面进行解决 在获得数据之后往数据库存之前先进行编码: URLEncoder.encode(nickName, “utf-8”); 当从数据库中取出准备显示的时候进行解码, URLDecoder.decode(nickname, “utf-8”); ...
  • 数据库存入表情符报错问题

    千次阅读 2017-05-26 09:46:32
    遇到的问题:存储爬取到的数据时,数据库是utf8,存入有表情符的字符串报错。   解决方法如下:  普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf...
  • ...将表的字符集换成utf8mb4_unicode_ci就可以了 MySQL语句如下: ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci 这个是天坑,go插入也会有问题 ...连接数据库的时.
  • 微信昵称中包含表情,保存到mysql中报出SQLException :Incorrect string value: '\xF0\xA1\x8B\xBE\xE5\xA2...' for column 'name'解决方案:Mysql 从5.5.3版本开始支持4字节的utf8编码,如果你的Mysql数据库是5.5.3...
  • 最近在做微信端 web 程序开发,IOS端用户在输入时可能输入 emoji 字符,由于 utf8的 mysql 数据库并不支持存储这种字符,会报Incorrect string value: ‘\xF0\x9F\x98\x97\xF0\x9F…’ 的类似错误 第一眼看到这个错误...
  • mysql数据库默认不支持表情的存储 解决方式有两种 注意:utf8mb4支持的数据库版本最低为5.5.3+。 修改mysql配置文件my.cnf(windows为my.ini)。 [mysql] default-character-set=utf8mb4 [mysqld] character-set-...
  • 对于没有把表情等特殊字符考虑在内的系统,当向数据库写入emoji时,数据库就会报错,如下所示:数据库写入emoji时报错原因emoji表情为4个字符,而一般Mysql的utf8编码最多3个字节,所以插入时就会报错。解决方案前端...
  • 前两天在做微信接入的时候,获取用户的nickname保存到数据库时出现异常,发现是用户名中带有emoji表情,以及从微信传过来的居然是ISO-8859-1编码,真的很坑,名字里的中文全变成问号。以下是解决方案:mysql5.5以上...
  • 数据库保存表情符号(emoji)

    千次阅读 2018-06-30 11:58:52
    大致有两种解决方案,第一种:更改表里,字段的字符集属性(以MySQL为例子)选择utf8mb4即可。...但是一个表情符号占4bytes,所以在不做任何处理的情况下,将表情符号直接存入数据库,是会报错的。utf8mb4,1c...
  • Emoji表情符号录入MySQL数据库报错的解决方案
  • 主要介绍了java处理数据库不支持的emoji表情符问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 数据库存储emoji表情,应该用什么编码格式,为什么? 1、解决方式: 存储emoji表情mysql数据库需要使用utf8mb4格式,不能使用utf8格式 2、解释: mysql默认编码utf8格式,只能存储3个字节的数据,而emoji表情是4个...
  • MySQL数据库UTF8编码插入表情报错解决 问题: utf-8编码可2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入...
  • 解决emoji表情插入数据库报错问题

    千次阅读 2020-02-28 11:13:04
    在富文本中添加emoji表情,再存入数据数据时,会报sql异常。 org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\xF0...
  • 让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集。 utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以能...
  • utf-8编码可能2个字节、3个字节、4...如果直接往采用utf-8编码的数据库中插入表情数据,Java程序中将报SQL异常:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\x94’ for column ‘name’ at row...
  • 我分为下面三个步骤来解决:  (1):修改mysql数据库的编码为uft8mb4  (2):修改数据表的编码为utf8mb4  (3):修改连接数据库的连接代码  (1):修改mysql数据库的编码为uft8mb4  (2):修改数据表...
  • Emoji表情符号入MySQL数据库报错的解决方案发布时间:2020-08-15 08:21:52来源:ITPUB博客阅读:136作者:bestpaydataauther:Jane.Hoo上周有开发人员反馈一个问题:前台应用抓取微博信息,每天总有几条数据插入不...
  • 需要在MySql数据库中存储emoji表情,但发现数据库报错。 原因 由于最初新建数据库的时候采用了utf8编码方式,在mysql中这种编码方式每个字符使用3个字节编码,而emoji符合由4个字节表示,所以就无法存储了。 解决...
  • 解决数据库不能进行存储符号表情的问题 1、需要把数据库的编码修改成utf8mb4 一、如果是阿里云或者腾讯云找运维直接修改格式 二、如果是物理机直接修改my.cnf或者my.ini文件 查看数据库编码格式 2、查看...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 845
精华内容 338
关键字:

数据库解决表情