Menyelesaikan masalah Ralat "Nilai Rentetan Salah" Semasa Memasukkan UTF-8 ke MySQL melalui JDBC
Ralat "Nilai rentetan yang salah" boleh berlaku apabila cuba memasukkan data UTF-8 ke dalam pangkalan data MySQL menggunakan JDBC. Ralat ini biasanya menunjukkan bahawa pengekodan aksara tidak dikonfigurasikan dengan betul.
Penjelasan Isu
Dalam kes anda, anda telah mengkonfigurasi sambungan JDBC anda dengan parameter berikut:
Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password);
Konfigurasi ini menentukan bahawa aksara Unicode harus digunakan dan bahawa pengekodan aksara harus UTF-8. Walau bagaimanapun, mesej ralat menunjukkan bahawa nilai rentetan yang salah bermula dengan "xF0", iaitu aksara UTF-8 4-bait.
Penyelesaian
Secara lalai, Pengekodan utf8 MySQL hanya membenarkan aksara yang boleh diwakili dengan 3 bait dalam UTF-8. Untuk menyelesaikan isu ini, anda perlu menentukan pengekodan utf8mb4 untuk pangkalan data MySQL anda. Pengekodan ini menyokong aksara yang menduduki 4 bait dalam UTF-8.
Langkah untuk Menyelesaikan:
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET utf8mb4;
Tambahan Maklumat:
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Nilai Rentetan Salah' MySQL Apabila Memasukkan Data UTF-8 melalui JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!