SO üzerinde emoji ile ilgili tüm konuları okuduktan sonra, biraz yardım istemek zorunda kaldım. Soru neredeyse aynı gibi görünüyor: MySQL DB'ye PHP emoji ile gönderen bir iPhone Uygulaması var, örneğin "şemsiye" ve "bulut" gibi kayıtlardaki bazı simgeleri görebiliyorum ama başka değil (kızgın surat, güler yüz, ve diğer).MySQL ve PHP üzerinde Emoji: Neden bazı semboller evet diğer değil?
Neden bazı evet ve değil?
- MySQL Harmanlama: utf8mb_unicode_ci
- Tablo harmanlama: utf8mb_unicode_ci
- Alan, varchar harmanlama: utf8mb_unicode_ci
PHP kurulumu:
mysql_query("SET CHARACTER SET utf8mb4");
mysql_query("SET NAMES utf8mb4");
sembolleri kayıt içine gösterdi değil soru işareti "?" olarak gösterilir
Çok teşekkür ederim Jake, senin yönünü arayacağım. Şu an, hedef alanları ve tabloyu doğru harmanlamada dönüştürdüğümden eminim ama bir şeyleri kaçırmam gerekiyor. Bu konuyu güncelleyeceğim. Thanx – Fabrizio
Doğruladım ve haklısın 3 byte emoji iyi temsil ediliyor. Neyi özlediğim, harmanlamayı değiştirmem gereken yer. Emoji'yi kaydetmem gereken alan utf8mb4_unicode_ci harmanlamasına sahip. Bu alanı içeren tablo utf8mb4_unicode_ci harmanlamasına sahip. Genel Ayarlar'da (phpMyAdmin) MySQL harmanlamasının utf8_general_ci olduğunu ve utf8mb4_unicode_ci'ye değiştirmeye çalıştığımda otomatik olarak önceki ayara geri döndüğünü görüyorum. Sorunun bu nedenle olup olmadığını bilmiyorum. Aramaya devam edeceğim. – Fabrizio
@Fabrizio Yazılı [nasıl utf8'den 'utf8mb4'üne yükseltme konusunda ayrıntılı bir kılavuz] (http://mathiasbynens.be/notes/mysql-utf8mb4) - belki size yardımcı olur. –