2015-05-18 17 views
5

Emoji'yi sunucumdaki veritabanına depolamaya çalışıyorum. (Ubuntu)Emoji düzgün bir şekilde MySQL 5.6 ile harmanlanmıştır utf8mb4

- 5.6.19-0ubuntu0.14.04.1:

OS: ubuntu0.14.04.1

MySQL sürüm I sunucusu olarak AWS EC2 örneğini kullanıyorum, benim sunucu ayrıntıları aşağıda listelenmiştir

veritabanı istemci sürümü:

: libmysql - - mysqlnd 5.0.11-dev 20120503

aşağıdaki SQL ile sunucudaki bir veritabanı testi ve tablo emoji yarattı Aşağıdaki insert yürütmeye çalıştık

, bir uyarı belirir ve verilerin düzgün saklanmaz:

INSERT INTO `test`.`emoji` (`id` , `text`) VALUES (NULL , ' '); 

Satır eklendi id: 3

Uyarı: # 1366 Yanlış dize değeri: ' \ xF0 \ x9F \ X91 \ x 86 \ xF0 ... metin sütunda depolanan satır 1

değeri metin' sütun için' şunlar olabilir: ???? ???? ???? ????

Yerel veritabanım için aynı senaryo çalışması ve değerler düzgün bir şekilde saklanır. Hemen hemen tüm yapılandırmalar OS (Windows) dışında benim yerelde benzer.

+1

Lütfen "YAPIN MASA TABLOSU test.emoji \ G" - Bunu oluşturduktan sonra bir şekilde karışmış olup olmadığını görmek istiyorum. –

+0

Wat "INSERT" yi hangi komut satırında çalıştırdınız? (F09F9186 doğru bakar.) –

+0

TABLO 'emoji' ( ' id' int (10) işaretsiz NULL AUTO_INCREMENT, 'text' varchar (255) NULL, birincil anahtar ('id') ) motoru oluşturmak = InnoDB AUTO_INCREMENT = 4 VARSAYILAN CHARSET = utf8mb4 –

cevap

1

Sorununuzu SqlWorkbench kullanarak yeniden oluşturabiliyordum. Eğer karakter set hizalamak için insert deyimi çalıştırmadan önce

koşmak bu açıklama ve harmanlama:

İstemci büyük olasılıkla karakter kümesi tablosunun karakter kümesi eşleşmiyor db bir bağlantı kurmuştur konum Bağlanma:

SET NAMES utf8mb4 COLLATE utf8mb4_general_ci 
Bu yardımcı olur, karakter kümeleri zor olabilir.

İlgili konular