Rumah > pangkalan data > tutorial mysql > Mengapa Emojis saya Hilang dalam MySQL?

Mengapa Emojis saya Hilang dalam MySQL?

DDD
Lepaskan: 2024-11-06 20:25:02
asal
393 orang telah melayarinya

Why are my Emojis Disappearing in MySQL?

Pengekodan Aksara MySQL dan Storan Emoji

Kami mempunyai aplikasi iPhone yang menghantar emotikon ke bahagian belakang PHP, yang kemudiannya memasukkannya ke dalam MySQL pangkalan data. Walau bagaimanapun, selepas pemasukan berjaya, nilai yang disimpan kelihatan kosong.

Sisipan teks sahaja berjaya, tetapi apabila emotikon disertakan, hanya teks yang akan disisipkan. Cadangan untuk menukar jenis medan kepada Blog (untuk menampung data imej) terbukti tidak sesuai kerana sesekali sisipan bukan emotikon dan keperluan storan yang kecil.

Penyelesaian: Keserasian Set Aksara MySQL

Isunya terletak pada pengekodan aksara MySQL. Emoji iOS terutamanya menggunakan mata kod yang melebihi Satah Berbilang Bahasa Asas (BMP) jadual Unikod. Contohnya, emoji "Wajah Tersenyum dengan Mulut Terbuka dan Mata Tersenyum" berada di U 1F604.

Versi MySQL sebelum 5.5 hanya menyokong UTF-8 untuk BMP, mengehadkan storan kepada aksara di bawah U FFFF. Akibatnya, MySQL tidak boleh menyimpan emoji U 1F604 atau "aksara tinggi" yang lain.

Untuk menyelesaikannya, gunakan MySQL 5.5 dan pilih utf8mb4 (UTF-8 asli), utf16 atau utf32 sebagai set aksara lajur. Selain itu, pastikan sambungan MySQL antara PHP dan pangkalan data menggunakan set aksara yang sama.

Untuk versi MySQL kurang daripada 5.5, gunakan jenis lajur BLOB, yang menyimpan bait mentah tanpa mengambil kira "aksara." Walaupun ini membenarkan storan emoji, ia menjejaskan kecekapan pencarian teks dan pengindeksan.

Atas ialah kandungan terperinci Mengapa Emojis saya Hilang dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan