Once you step beyond the comfortable confines of English-only character sets, you quickly find yourself entangled in the wonderfully wacky world of UTF-8. Indeed, navigating through UTF-8 related issues can be a frustrating and hair-pulling experience. This post provides a concise cookbook for addressing these issues when working with PHP and MySQL in particular, based on practical experience and lessons learned. Share Once you step beyond the comfortable confines of English-only character sets, you quickly find yourself entangled in the wonderfully wacky world of UTF-8. Indeed, navigating through UTF-8 related issues can be a frustrating and hair-pulling experience. This post provides a concise cookbook for addressing these issues when working with PHP and MySQL in particular, based on practical experience and lessons learned. By Francisco ClariáVerified Expert in Engineering Francisco is an engineer focused on cross-platform apps (Ionic/Cordova) and specialized in hardware-software technology integration. Klien mengalami masalah saat memindahkan database dari development server ke production server. Pada developmen server menggunakan penyortiran utf8mb4, sedangkan pada production hanya support utf8. Error pun terjadi ketika hendak impor sql di production server seperti pada gambar di atas. Kami sudah melakukan konversi secara manual, namun tidak berhasil. Lantas apa perbedaan antara utf8mb4 dan utf8? utf8mb4 (disebut juga standard UTF-8) dapat menyimpan secara langsung suatu karakter yang ditentukan oleh Unicode, yang pertama adalah ukuran tetap pada 4 byte per karakter sedangkan yang terakhir adalah antara 1 dan 4 byte per karakter utf8 hanya dapat menyimpan pertama 65.536 codepoints, yang akan mencakup CJVK (Cina, Jepang, Vietnam, Korea), dan menggunakan 1 sampai 3 byte per karakter. Jadi yang perlu kami lakukan yakni dengan ALTER database beserta setiap tabel di dalamnya untuk mengubah set karakter (charset). Dengan menggunakan script PHP berikut proses konversi akan menjadi lebih mudah. Proses konversi database MySQL dari utf8mb4_unicode_ci ke utf8_general_ci berjalan dengan cepat.
Note: Script di atas hanya berlaku untuk database mysql, jika Anda menggunakan mysqli maka cukup tambahkan parameter pada mysqli_query() menjadi: |