前言
之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题。最近在做新浪微博的爬虫,在存库的时候发现只要保持emoji表情,就回抛出以下异常:
Incorrectstringvalue:'xF0x90x8Dx83xF0x90...'
众所周知UTF-8是3个字节,其中已经包括我们日常能见过的绝大多数字体.但3个字节远远不够容纳所有的文字,所以便有了utf8mb4,utf8mb4是utf8的超集,占4个字节,向下兼容utf8.我们日常用的emoji表情就是4个字节了.
所以在此我们像utf8的数据表插入数据就会报出Incorrectstringvalue
这个错误.
Google一下很容易就找到了解决方案,具体解决办法是如下:
一、修改数据表的字符集为utf8mb4
这点很简单,修改语句网上找一大堆,不过建议重新建表,使用mysqldump-uusername-ppassworddatabase_nametable_name>table.sql
备份相应数据表,并修改其中的建表语句的字符集为utf8mb4即可,然后mysql-uusername-ppassworddatabase_name<table.sql
重新导入sql即可完成修改字符集操作.
二、MySQL数据库版本要5.5.3及上述就是数据库技术:MySQL插入emoji表情失败问题的解决方法分享的全部内容,如果对大家有所用处且需要了解更多关于mysql数据库学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/914247.html