Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memastikan Kemasukan Rentetan UTF-8 yang Betul ke dalam MySQL melalui JDBC?
Cara Menulis Rentetan UTF-8 dengan betul ke dalam MySQL melalui Antara Muka JDBC
Masalah:
Semasa cuba memasukkan rentetan UTF-8 ke dalam pangkalan data MySQL menggunakan antara muka JDBC, data tersebut dipaparkan secara tidak betul dalam pangkalan data.
Latar Belakang:
Kod coretan yang disediakan menunjukkan proses menyambung ke pangkalan data, mencipta jadual, memasukkan baris dengan data UTF-8 dan menyemak data yang dimasukkan. Walau bagaimanapun, output menunjukkan bahawa aksara UTF-8 sedang rosak.
Penyelesaian masalah:
1. Sahkan Pengekodan Konfigurasi MySQL:
Pastikan fail konfigurasi MySQL (my.cnf atau my.ini) mengandungi tetapan pengekodan aksara yang betul. Semak tetapan dengan arahan berikut:
show variables like 'character%'; show variables like 'collation%';
2. Ubah suai Fail Konfigurasi (jika perlu):
Berdasarkan versi MySQL anda, tambahkan baris berikut pada fail konfigurasi:
[mysqld] character-set-server = utf8 character-set-filesystem = utf8
ATAU
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server=utf8
3. Konfigurasikan Sambungan JDBC:
Apabila membuat sambungan JDBC, nyatakan parameter berikut:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");
4. Alih Keluar Kod Lewah:
Berdasarkan coretan kod yang disediakan, adalah disyorkan untuk mengalih keluar baris berikut daripada kod:
query = "set character set utf8"; stat.execute(query);
Hasil Jangkaan:
Selepas melaksanakan perubahan ini, rentetan UTF-8 hendaklah ditulis dengan betul dan dipaparkan dalam pangkalan data MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Kemasukan Rentetan UTF-8 yang Betul ke dalam MySQL melalui JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!