Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Nilai Rentetan Salah' MySQL?

Bagaimana untuk Menyelesaikan Ralat 'Nilai Rentetan Salah' MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-27 22:34:14845semak imbas

How to Solve MySQL's

Mengatasi Ralat "Nilai Rentetan Yang Tidak Betul" dalam MySQL

Apabila berurusan dengan aplikasi yang mengendalikan format teks yang berbeza-beza, ralat "Nilai rentetan yang salah" boleh ditemui disebabkan oleh yang tidak betul pengekodan aksara. Walaupun menetapkan set aksara dan penyusunan yang sesuai untuk lajur teks, sesetengah e-mel dalam aplikasi masih boleh mencetuskan ralat ini. Artikel ini bertujuan untuk menangani punca dan menyediakan penyelesaian yang berkesan untuk mengatasi ralat tersebut.

Punca Ralat

Ralat "Nilai rentetan yang salah" biasanya timbul apabila watak pengekodan data yang disimpan tidak sepadan dengan pengekodan yang ditentukan untuk lajur. Ini boleh berlaku apabila:

  • Pengekodan aksara data masuk tidak konsisten dengan pengekodan pangkalan data yang dijangkakan.
  • Penghantaran antara aplikasi dan pangkalan data menggunakan pengekodan yang berbeza daripada tetapan pangkalan data.

Langkah-langkah untuk Memperbaiki Isu

Untuk menyelesaikan ralat dengan berkesan, ikut langkah berikut:

1. Sahkan Pengekodan Aksara:

  • Pastikan sumber data (cth., fail) benar-benar dikodkan dalam utf8.
  • Semak tetapan sambungan pangkalan data menggunakan arahan berikut selepas menyambung:
SET NAMES 'utf8mb4';
SET CHARACTER SET utf8mb4;

2. Sahkan Pengumpulan Jadual dan Lajur:

  • Sahkan bahawa jadual yang menyimpan data mempunyai set aksara utf8mb4 dengan melaksanakan:
SELECT
  `tables`.`TABLE_NAME`,
  `collations`.`character_set_name`
FROM
  `information_schema`.`TABLES` AS `tables`,
  `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations`
WHERE
  `tables`.`table_schema` = DATABASE()
  AND `collations`.`collation_name` = `tables`.`table_collation`
;

3. Semak Tetapan Pangkalan Data:

  • Jalankan arahan berikut untuk mengesahkan tetapan pangkalan data yang berkaitan dengan pengumpulan dan set aksara:
mysql> show variables like '%colla%';
mysql> show variables like '%charac%';

Kesan Pembetulan

Dengan melaksanakan pembetulan ini, aplikasi akan menggunakan utf8mb4 secara konsisten set aksara, memastikan pengendalian data teks yang betul. Ini akan menghapuskan ralat "Nilai rentetan yang salah" dan membolehkan penyimpanan, pemprosesan dan pengambilan semula e-mel yang betul tanpa mengira komposisi wataknya.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Nilai Rentetan Salah' MySQL?. 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