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

Pemformatan baris perintah MySQL dengan UTF8

Jawaban singkat

Mulai klien dengan opsi --default-character-set=utf8 :

mysql --default-character-set=utf8

Anda dapat mengatur ini sebagai default di /etc/mysql/my.cnf berkas.

[mysql]
default-character-set=utf8

Jawaban singkat tidak berhasil, baca di bawah

Perintah di atas memaksa character_set_client , character_set_connection dan character_set_results config variabel menjadi utf8 .

Untuk memeriksa nilai untuk semua variabel konfigurasi terkait rangkaian karakter, Anda dapat menjalankan:

show variables like '%char%';

character_set_database memberi Anda set karakter dari database saat ini (skema) tempat Anda berada. Skema dan tabel dibuat secara default dengan rangkaian karakter yang ditentukan dalam character_set_server , kecuali jika ditentukan secara eksplisit dalam CREATE pernyataan.

character_set_server dapat diubah di my.cnf berkas:

[mysqld]
character-set-server = utf8

Selain itu tabel dan kolom dapat memiliki rangkaian karakter sendiri yang mungkin berbeda dari tabel atau skema induknya. Untuk secara khusus memeriksa nilai setiap tabel dan kolom dalam database, lihat jawaban ini:Bagaimana cara melihat kumpulan karakter database/tabel/kolom MySQL?

Jika Anda ingin mengubah set karakter tabel dan kolom yang ada, lihat jawaban ini:Bagaimana cara mengonversi seluruh characterset dan collation database MySQL ke UTF-8?

Info lebih lanjut tentang kumpulan karakter koneksi di dokumentasi mysql .

Semuanya disetel ke utf8, tapi saya masih melihat karakter aneh

Bahkan jika semua variabel rangkaian karakter, tabel dan kolom diatur ke utf8 , mungkin ada kasus di mana Anda melihat karakter aneh di layar Anda. Misalnya, seseorang mungkin telah menulis karakter Unicode dalam utf8 kolom, melalui klien dengan latin1 koneksi (misalnya dengan menjalankan mysql --default-character-set=latin1 ). Dalam hal ini Anda perlu terhubung ke database dengan rangkaian karakter yang sama dengan nilai yang ditulis. Anda juga dapat mengambil dan menulis ulang melalui penyandian yang benar.

CATATAN :Seperti yang ditunjukkan oleh komentar, utf8 mysql encoding bukanlah implementasi UTF-8 yang benar dan penuh. Jika implementasi penuh UTF-8 diperlukan, seseorang dapat menggunakan utf8mb4 rangkaian karakter:

mysql --default-character-set=utf8mb4

Info lebih lanjut di sini:Apa perbedaan antara charset utf8mb4 dan utf8 di MySQL?



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

  2. Fungsi MySQL ASIN() – Mengembalikan Arc Sinus dari Angka

  3. Bagaimana saya bisa mengulang hasil MySQL yang ditetapkan lebih dari sekali menggunakan fungsi mysql_*?

  4. Cara menggunakan SUBSTRING() di MySQL

  5. Jalankan kueri mySQL sebagai tugas cron?