If you experience weird problems, like some UTF-8 characters (the Unicode character č and a few others in my case) seemingly being changed to garbage by mysql_query, you may need to do something like this before your actual query:_
mysql_query("SET NAMES 'utf8'", $conn);
?>
Took me days to figure that one out..._
Fungsi set_charset() / mysqli_set_charset() menentukan set karakter default yang akan digunakan saat mengirim data ke dan dari server database
Catatan. Agar fungsi ini berfungsi pada platform Windows, Anda memerlukan pustaka klien MySQL 4. 1. 11 atau lebih tinggi (untuk MySQL 5. 0, Anda membutuhkan 5. 0. 6 atau lebih)
MySQL memungkinkan Anda untuk menyimpan karakter UTF8 dalam database. Ini berguna saat bekerja dengan data non-ascii atau unicode. Bahkan, Anda bahkan dapat mengubah semua tabel menjadi UTF8, jika Anda mau. Pada artikel ini, kita akan melihat bagaimana mendukung karakter unicode penuh di MySQL. Berikut cara menyimpan karakter UTF8 di MySQL
Cara Menyimpan Karakter UTF8 di MySQL
Berikut langkah-langkah untuk menyimpan karakter UTF8 di MySQL. Secara default, MySQL hanya mendukung karakter ASCII dan menyimpan data dalam rangkaian karakter latin1
1. Periksa Set Karakter
Buka terminal dan jalankan perintah berikut ganti nama pengguna di bawah dengan nama pengguna basis data Anda
$ mysql -u nama pengguna -p
Anda akan melihat permintaan kata sandi. Masukkan kata sandi dan masuk ke MySQL
Jalankan perintah berikut untuk membuat daftar kumpulan karakter
mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | cp850 | | character_set_connection | cp850 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | cp850 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ | +--------------------------+---------------------------------------------------------+Bonus Baca. Cara Memberi Peringkat Atas Partisi di MySQL
2. Ubah Set Karakter ke UTF8
Buka saya. file cnf di terminal
$ sudo vi /etc/my.cnf_Tambahkan / ganti baris setelah [klien] dan [mysqld]
[client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4
Bonus Baca. Cara Mengubah Zona Waktu MySQL di Query
3. Mulai ulang Server MySQL
Mulai ulang Server MySQL untuk menerapkan perubahan
$ sudo service mysql restartMulai sekarang, semua database masa depan Anda akan dapat menyimpan karakter UTF8. Namun, basis data Anda yang sudah ada akan terus mendukung rangkaian karakter lamanya
Jadi kami perlu mengonversi database Anda ke UTF8
Bonus Baca. Cara Mengubah Zona Waktu Server MySQL
4. Konversi database MySQL ke UTF8
Berikut adalah langkah-langkah untuk mengonversi semua tabel ke UTF8. Masuk ke MySQL seperti yang ditunjukkan pada langkah 1
Jalankan perintah berikut untuk mengubah kumpulan karakter dan pemeriksaan database Anda ke UTF8. Ganti dbname di bawah ini dengan nama database Anda
Setelah Anda melangkah melampaui batas-batas yang nyaman dari rangkaian karakter khusus bahasa Inggris, Anda dengan cepat menemukan diri Anda terjerat dalam dunia UTF-8 yang sangat aneh. Memang, menavigasi melalui masalah terkait UTF-8 bisa menjadi pengalaman yang membuat frustrasi dan menarik. Postingan ini menyediakan buku resep ringkas untuk mengatasi masalah ini saat bekerja dengan PHP dan MySQL khususnya, berdasarkan pengalaman praktis dan pelajaran yang dipetik
Membagikan
MembagikanSetelah Anda melangkah melampaui batas-batas yang nyaman dari rangkaian karakter khusus bahasa Inggris, Anda dengan cepat menemukan diri Anda terjerat dalam dunia UTF-8 yang sangat aneh. Memang, menavigasi melalui masalah terkait UTF-8 bisa menjadi pengalaman yang membuat frustrasi dan menarik. Postingan ini menyediakan buku resep ringkas untuk mengatasi masalah ini saat bekerja dengan PHP dan MySQL khususnya, berdasarkan pengalaman praktis dan pelajaran yang dipetik
Oleh Francisco Clariá
Pakar Terverifikasi di bidang Teknik
Francisco adalah seorang insinyur yang berfokus pada aplikasi lintas platform (Ionic/Cordova) dan berspesialisasi dalam integrasi teknologi perangkat keras-perangkat lunak