Menyelesaikan Ralat "Nilai Rentetan Tidak Betul"
Berlakunya ralat "nilai rentetan yang salah" apabila menerima e-mel bukan Latin menunjukkan isu asas dengan pengekodan aksara. Berikut ialah pendekatan sistematik untuk menyelesaikan masalah ini:
Mengenal pasti Punca
Ralat mencadangkan bahawa 'kandungan' lajur MEDIUMTEXT tidak dikodkan dengan betul. Walaupun ia ditetapkan untuk menggunakan UTF-8, sesetengah e-mel masih mengandungi aksara yang tidak mematuhi pengekodan UTF-8.
Membetulkan Isu
Konfigurasikan sambungan pangkalan data: Tetapkan set aksara dan penyusunan kepada UTF-8:
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
Semak tetapan jadual dan pangkalan data:
Untuk jadual 'kandungan':
ALTER TABLE table_name MODIFY contents MEDIUMTEXT COLLATE utf8mb4_general_ci;
Untuk pangkalan data:
ALTER DATABASE database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Kesan daripada Betulkan
Nota:
Adalah disyorkan untuk menggunakan UTF-8mb4 dan bukannya set aksara UTF-8 lama, kerana ia menyediakan sokongan yang lebih baik untuk julat aksara Unicode yang lebih luas.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Nilai Rentetan Yang Tidak Betul' dalam MySQL Apabila Menerima E-mel Bukan Latin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!