Dalam proses menggunakan JSP dan MySQL, masalah biasa ialah aksara bercelaru. Masalah ini biasanya berlaku apabila aksara Cina dikeluarkan dalam halaman JSP, atau apabila aksara Cina dimasukkan atau dibaca dalam pangkalan data MySQL. Yang berikut akan memperkenalkan punca dan penyelesaian watak bercelaru.
Punca aksara bercelaru:
- Pengekodan tidak konsisten: Pengekodan halaman JSP tidak konsisten dengan pengekodan pangkalan data MySQL, yang sering membawa kepada aksara yang bercelaru. Sebagai contoh, halaman JSP menggunakan pengekodan UTF-8, tetapi pangkalan data MySQL menggunakan pengekodan GBK.
- Set aksara pangkalan data yang salah: Set aksara lalai yang digunakan oleh pangkalan data MySQL ialah set aksara Latin (latin1), bukan set aksara UTF-8 yang menyokong bahasa Cina. Jika anda memasukkan atau membaca aksara Cina ke dalam pangkalan data MySQL, aksara bercelaru akan muncul.
- Kaedah pengekodan sambungan pangkalan data tidak betul: Apabila JDBC menyambung ke MySQL, kaedah pengekodan sambungan perlu ditetapkan Jika tetapan tidak betul, ia juga akan menyebabkan masalah kod bercelaru.
Penyelesaian:
- Tetapkan kaedah pengekodan halaman: tambah , pastikan kaedah pengekodan halaman JSP konsisten dengan kaedah pengekodan pangkalan data MySQL.
- Tetapkan set aksara pangkalan data MySQL: Anda boleh menetapkan set aksara pangkalan data kepada UTF-8 dengan mengubah suai fail my.cnf MySQL. Tambahkan baris kod berikut di bawah [mysqld]:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
Nota: Jadi pasti Ubah suai item berkaitan set aksara sedia ada MySQL kepada UTF-8 dan bukannya terus menambah kod di atas.
- Tetapkan kaedah pengekodan sambungan pangkalan data: Apabila JDBC menyambung ke MySQL, anda perlu menetapkan kaedah pengekodan sambungan untuk memastikan kaedah pengekodan halaman JSP dan pangkalan data MySQL adalah konsisten. Anda boleh menambah parameter charset=UTF-8 pada URL JDBC untuk menetapkannya, contohnya:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika jsp mysql bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!