Masalah aksara bercelaru dalam MySQL dan JSP adalah masalah biasa dalam pembangunan web Jika masalah ini tidak diselesaikan, aksara bercelaru akan muncul selepas aplikasi digunakan dan menjejaskan operasi biasa program. Artikel ini akan memperkenalkan punca aksara bercelaru dalam MySQL dan JSP dan cara menyelesaikannya.
1. Masalah kod kacau MySQL
Set aksara lalai yang digunakan oleh MySQL ialah Latin1, tetapi dalam kebanyakan kes, kita perlu menggunakan set aksara UTF-8 kerana set aksara UTF-8 menyokong pengekodan teks berbilang bahasa untuk memenuhi keperluan kebanyakan aplikasi. Dalam MySQL, kita boleh menetapkan set aksara melalui langkah berikut:
- Ubah suai fail konfigurasi MySQL my.cnf dan tambah pernyataan berikut di bawah [mysqld]:
[ mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
- Untuk mengubah suai set aksara lalai MySQL, laksanakan arahan berikut:
SET character_set_client=utf8 ;
SET character_set_connection=utf8;
SET character_set_database=utf8;
SET character_set_results=utf8;
SET character_set_server=utf8;
dua kaedah di atas adalah untuk mengubah suai aksara lalai MySQL Setkan kepada UTF-8 untuk mengelakkan aksara bercelaru semasa membaca atau menulis data.
2. Masalah kod kacau JSP
Masalah kod kacau JSP paling kerap berlaku apabila borang menyerahkan data. Ini kerana data yang dihantar oleh penyemak imbas ke pelayan dimasukkan secara manual oleh pengguna, dan pengekodan aksara mungkin pelbagai kaedah pengekodan yang mungkin, termasuk GB2312, Big5 dan kaedah pengekodan lain, mengakibatkan aksara bercelaru selepas data dihantar kepada pelayan.
Secara amnya terdapat kaedah berikut untuk menyelesaikan masalah JSP yang bercelaru:
Tambahkan kod berikut pada kepala halaman JSP: -
< ;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Tetapkan pengekodan aksara kepada UTF-8 dalam borang:-