Rumah  >  Artikel  >  pangkalan data  >  Apa yang perlu dilakukan jika jsp mysql bercelaru

Apa yang perlu dilakukan jika jsp mysql bercelaru

PHPz
PHPzasal
2023-04-21 11:23:09715semak imbas

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:

  1. 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.
  2. 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.
  3. 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:

  1. Tetapkan kaedah pengekodan halaman: tambah , pastikan kaedah pengekodan halaman JSP konsisten dengan kaedah pengekodan pangkalan data MySQL.
  2. 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.

  1. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn