【问题标题】:How do I insert 4 byte unicode characters into mysql database?如何将 4 字节 unicode 字符插入 mysql 数据库?
【发布时间】:2017-09-21 02:48:57
【问题描述】:

当有人尝试将笑脸插入我的数据库时,我偶尔会遇到以下异常:

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

名称定义为

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

我在我的连接字符串中使用CharSet=utf8;

我还应该检查/更改什么才能让完整的 unicode 插入开始工作?

【问题讨论】:

  • 不要使用utf32

标签: c# mysql unicode utf-8 utf-32


【解决方案1】:

您必须将数据库tablecollation 更改为utf8mb4_bin

并在数据库配置中设置CHARACTER SET为utf8mb4

【讨论】:

  • 我正在执行 alter table mytable convert to character set utf8 collate utf8mb4_bin; 并收到以下错误:COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8'
猜你喜欢
  • 2019-08-28
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
  • 2012-06-03
  • 2017-03-09
  • 2013-07-05
  • 2011-01-30
相关资源
最近更新 更多