Pelo que sei deve ser utf8mb4_unicode_ci
, mas:
> create table t1 (f1 varchar(255) collate utf8mb4_unicode_ci)
> insert into t1 (f1) values ('?')
E o que recebo é:
ERROR 1366 (22007) at line 1: Incorrect string value: '\xF0\xA2\x84\x82'
for column 'f1' at row 1
O símbolo que estou inserindo no banco de dados é este .
O problema era com o conjunto de caracteres de conexão. Depois de configurá-lo para
utf8mb4
, foi bem-sucedido. Uma maneira é adicionar ou seções dedefault-character-set = utf8mb4
arquivos .client
mysql
~/.my.cnf
UPD Antes
default-character-set
de adicionar,~/.my.cnf
eu tinha:E
insert into t1 (f1) values ('?')
deu-me:Depois de adicionar
default-character-set = utf8mb4
, tenho:E
insert into t1 (f1) values ('?')
consegue.