Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara membuat MySQL menangani UTF-8 dengan benar

Pembaruan:

Jawaban singkat - Anda hampir harus selalu menggunakan utf8mb4 charset dan utf8mb4_unicode_ci pengumpulan.

Untuk mengubah basis data:

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Lihat:

Jawaban Asli:

MySQL 4.1 dan di atasnya memiliki set karakter default UTF-8. Anda dapat memverifikasi ini di my.cnf . Anda file, ingat untuk mengatur keduanya klien dan server (default-character-set dan character-set-server ).

Jika Anda memiliki data yang ingin Anda konversi ke UTF-8, buang database Anda, dan impor kembali sebagai UTF-8 dengan memastikan:

  • gunakan SET NAMES utf8 sebelum Anda meminta/memasukkan ke dalam database
  • gunakan DEFAULT CHARSET=utf8 saat membuat tabel baru
  • pada titik ini klien dan server MySQL Anda harus dalam UTF-8 (lihat my.cnf ). ingat bahasa apa pun yang Anda gunakan (seperti PHP) juga harus UTF-8. Beberapa versi PHP akan menggunakan pustaka klien MySQL mereka sendiri, yang mungkin tidak mengetahui UTF-8.

Jika Anda ingin memigrasikan data yang ada, ingatlah untuk membuat cadangan terlebih dahulu! Banyak pemotongan data yang aneh dapat terjadi ketika segala sesuatunya tidak berjalan sesuai rencana!

Beberapa sumber daya:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu MySQL Workbench?

  2. Menggunakan mysql concat() dalam klausa WHERE?

  3. MySQLDumper:Alat Pencadangan Database MySQL Berbasis PHP dan Perl

  4. Bagaimana Memperbaiki Masalah Umum dengan Database MySQL?

  5. Memulihkan pengguna dan kata sandi 'root' yang dihapus untuk MySQL