Perlukah SET NAMA UTF8 Digunakan untuk Sokongan Unikod?
Dalam buku yang dihormati "MySQL berprestasi tinggi," pengarang Baron Schwartz memberi amaran supaya tidak menggunakan "SET NAMA UTF8" kerana ia salah mengubah tetapan pelayan dan bukannya mengubah suai set aksara pustaka klien. Ini telah mencetuskan kekeliruan dalam kalangan pembangun yang bergantung pada sintaks ini untuk sokongan Unikod.
Amalan Terbaik untuk Aliran Kerja Unicode-Aware
Untuk memastikan aliran kerja pangkalan data Unikod, pertimbangkan amalan terbaik berikut:
1. Gunakan mysql_set_charset() / mysqli_set_charset() untuk PHP:
Fungsi ini secara langsung menetapkan set aksara untuk sambungan klien, memintas had "SET NAMA UTF8."
2. Nyatakan Parameter Sambungan untuk PDO:
PDO::mysql menyokong parameter "charset" untuk menentukan set aksara semasa pemulaan sambungan.
3. Tetapkan Pembolehubah Pelayan MySQL:
Untuk prestasi optimum, tetapkan pembolehubah pelayan berikut dalam konfigurasi my.ini/cnf:
character_set_client = utf8 character_set_results = utf8 character_set_connection = utf8
4. Berhati-hati Berkenaan Berbilang Aplikasi:
Berhati-hati bahawa mengubah pembolehubah pelayan ini mungkin menjejaskan aplikasi lain yang dijalankan pada tika MySQL yang sama yang memerlukan set aksara berbeza.
Atas ialah kandungan terperinci Patutkah Saya Gunakan `SET NAMA UTF8` untuk Sokongan Unicode dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!