Sto provando a memorizzare emoji nel database nel mio server. Sto usando esempio AWS EC2 come server miei dati del server sono elencati di seguito:Emoji non è memorizzato correttamente in MySQL 5.6 con collation utf8mb4
OS: ubuntu0.14.04.1
MySQL versione: 5.6.19-0ubuntu0.14.04.1 - (Ubuntu)
Database versione client: libmysql - mysqlnd 5.0.11-dev - 20120503
ho creato un test di database e la tabella emoji nel server con SQL seguente:
CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `test`;
CREATE TABLE IF NOT EXISTS `emoji` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`text` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;
Quando ho provato ad eseguire il seguente inserto, viene visualizzato un avviso ei dati non vengono memorizzati correttamente:
INSERT INTO `test`.`emoji` (`id` , `text`) VALUES (NULL , ' ');
Inserita id fila: 3
Attenzione: # 1366 non corretto valore di stringa: ' \ xF0 \ X9F \ x91 \ x86 \ xF0 ...' per la colonna 'testo' alla riga 1
il valore memorizzato nella colonna di testo è: ???? ???? ???? ????
Lo stesso scenario funziona per il mio database locale e i valori sono memorizzati correttamente. Quasi tutte le configurazioni sono simili nel mio locale eccetto il sistema operativo (Windows).
Si prega di fare 'SHOW CREATE TABLE test.emoji \ G' - Voglio vedere se è stato storpiato in qualche modo dopo averlo creato. –
Wat quale prompt hai eseguito il 'INSERT' che sta fallendo? (Il F09F9186 è corretto.) –
CREATE TABLE 'emoji' ( ' id' int (10) unsigned NOT NULL AUTO_INCREMENT, 'Text' varchar (255) NOT NULL, PRIMARY KEY (' id') ) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 –