Aturan ketika Anda memiliki masalah dengan set karakter:
-
Saat membuat basis data, gunakan pengkodean utf8:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
Pastikan semua bidang teks (varchar dan teks) menggunakan UTF-8:
CREATE TABLE _test.test ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;
-
Saat Anda membuat koneksi, lakukan ini sebelum Anda menanyakan/memperbarui database:
SET NAMES utf8;
-
Dengan phpMyAdmin - Pilih UTF-8 saat Anda login.
-
setel penyandian halaman web ke utf-8 untuk memastikan semua posting/dapatkan data akan berada di UTF-8 (atau Anda harus melakukannya karena mengonversi itu menyakitkan ..). Kode PHP (baris pertama dalam file php atau setidaknya sebelum output apa pun):
header('Content-Type: text/html; charset=UTF-8');
-
Pastikan semua kueri Anda ditulis dalam penyandian UTF8. Jika menggunakan PHP:
6.1. Jika PHP mendukung kode dalam UTF-8 - cukup tulis file Anda dalam UTF-8.
6.2. Jika php dikompilasi tanpa dukungan UTF-8 - konversikan string Anda ke UTF-8 seperti ini:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
Itu harus membuatnya bekerja.