简体   繁体   English

如何在MySQL数据库中插入4个字节的unicode字符?

[英]How do I insert 4 byte unicode characters into mysql database?

I'm occasionally getting following exception when someone tries to insert smiley into my database: 当有人尝试将笑脸插入我的数据库时,我偶尔会遇到以下异常:

Incorrect string value: '\\xF0\\x9F\\x98\\x8A' for column 'name' at row 1

The name is defined as 名称定义为

`name` VARCHAR(255) CHARACTER SET utf32 COLLATE utf32_general_ci NOT NULL,`

And I'm using CharSet=utf8; 我正在使用CharSet=utf8; in my connection string 在我的连接字符串中

What else should I check/change for full unicode insert to start working? 我还应该检查/更改全部unicode插入才能开始工作吗?

you have to change your collation of database table to utf8mb4_bin 您必须将数据库tablecollation更改为utf8mb4_bin

And set CHARACTER SET in database configuration as utf8mb4 并将数据库配置中的CHARACTER SET设置为utf8mb4

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM