java.sql.SQLException: Nilai Rentetan Salah: Menangani Isu Pengekodan Aksara Unikod
Apabila bekerja dengan Java dan MySQL, operasi pangkalan data boleh dihadapi ralat yang berkaitan dengan nilai rentetan yang salah. Satu ralat sedemikian ialah "java.sql.SQLException: Nilai rentetan salah", yang boleh timbul apabila memasukkan aksara bukan standard tertentu.
Sebagai contoh, memasukkan rentetan "walmart obama ??" ke dalam jadual pangkalan data MySQL dengan jenis lajur "varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL" boleh mencetuskan ralat di atas. Isunya terletak pada pengekodan aksara "??", yang mewakili titik kod Unikod yang melangkaui satah berbilang bahasa asas (BMP).
Pengekodan lalai MySQL, utf8, hanya menyokong aksara dalam BMP. Untuk menampung aksara di luar BMP, seperti emoji dan simbol khas lain, anda perlu menggunakan pengekodan utf8mb4.
Penyelesaian:
Untuk menyelesaikan isu ini, ubah suai Pangkalan data MySQL dan tetapan sambungan untuk menyokong utf8mb4 pengekodan:
Kemas kini Pangkalan Data MySQL:
Konfigurasikan Sambungan MySQL:
Dengan melaraskan pangkalan data dan konfigurasi sambungan untuk menyokong utf8mb4, "java.sql.SQLException: Ralat nilai rentetan yang salah" akan diselesaikan, membolehkan pemasukan aksara bukan BMP berjaya ke dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'java.sql.SQLException: Nilai Rentetan Salah\' dalam Interaksi Java MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!