开发者社区> 问答> 正文

不正确的字符串值:“ \ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x?mysql

我正在尝试在我的MYSQL表中存储一条推文。的鸣叫是:

quiero que me escuches,no te burles no te rias,anoche tuve unsueñoque te fuiste de mi vida

最后两个字符均为'MULTIPLE MUSICAL NOTES'(U + 1F3B6),其UTF-8编码为0xf09f8eb6。

tweet_text我表格中的字段编码为utf8mb4。但是,当我尝试在该列中存储推文时,出现以下错误消息:

字符串值不正确:第1行的'tweet_text'列的'\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F ...'

怎么了?我怎样才能解决这个问题?我还需要存储多种语言,并且此字符集适用于所有语言,但不适用于表情符号和表情符号等特殊字符。

这是我的创建表语句:

CREATE TABLE twitter_status_data ( unique_status_id bigint(20) NOT NULL AUTO_INCREMENT, metadata_result_type text CHARACTER SET utf8, created_at text CHARACTER SET utf8 NOT NULL COMMENT 'UTC time when this Tweet was created.', id bigint(20) unsigned NOT NULL COMMENT 'Unique tweet identifier', id_str text CHARACTER SET utf8 NOT NULL, tweet_text text COMMENT 'Actual UTF-8 text', user_id_str text CHARACTER SET utf8, user_name text COMMENT 'User''s name', user_screen_name text COMMENT 'Twitter handle', coordinates text CHARACTER SET utf8, PRIMARY KEY (unique_status_id), KEY user_id_index (user_id), FULLTEXT KEY tweet_text_index (tweet_text) ) ENGINE=InnoDB AUTO_INCREMENT=82451 DEFAULT CHARSET=utf8mb4;

展开
收起
保持可爱mmm 2020-05-17 17:14:11 944 0
1 条回答
写回答
取消 提交回答
  • 我终于能够找出问题所在。我必须在mysql配置my.ini中更改一些设置。本文对很多帮助 http://mathiasbynens.be/notes/mysql-utf8mb4#character-sets

    首先,我将my.ini中的字符集更改为utf8mb4,然后在mysql客户端中运行了以下命令

    SET NAMES utf8mb4; ALTER DATABASE dreams_twitter CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; 使用以下命令检查所做的更改

    SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation来源:stack overflow

    2020-05-17 17:14:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像