1. Sebab
1 Set aksara tidak konsisten: Set aksara lalai Excel ialah GB2312, manakala set aksara lalai MySQL ialah UTF-8 atau GBK . boleh menyebabkan data bercelaru semasa penghantaran.
2. Tidak padan jenis data: Medan jenis VARCHAR dan TEXT dalam MySQL boleh menyimpan set aksara yang berbeza, manakala sel dalam Excel hanya menyokong satu set aksara. Jika sel Excel mengandungi set aksara yang berbeza, aksara bercelaru mungkin muncul.
3. Pengekodan fail tidak konsisten: Apabila menggunakan Excel untuk membuka atau menyimpan fail dalam format CSV, pengekodan tidak konsisten mungkin berlaku. Contohnya, jika pengekodan ANSI dipilih semasa menyimpan fail CSV dan MySQL menggunakan pengekodan UTF-8, data mungkin bercelaru semasa penghantaran.
2 Penyelesaian
Untuk mengelakkan aksara bercelaru yang disebabkan oleh set aksara yang tidak konsisten apabila menyambung ke MySQL, anda perlu menetapkan set aksara kepada GB2312 untuk memastikan set aksara itu konsisten . Parameter berikut boleh ditambahkan pada MySQL Connector/ODBC:
charset=GB2312
2. Padanan jenis data: Apabila mencipta jadual data MySQL, medan jenis VARCHAR dan TEXT boleh ditentukan sebagai GB2312. set watak. Contohnya:
CIPTA ujian JADUAL (
id INT BUKAN NULL,
nama VARCHAR(30) SET KARAKTER GB2312 NULL LALAI,
KUNCI UTAMA (id)
) ENJIN=InnoDB DEFAULT CHARSET=gbk;
Untuk memastikan pengekodan fail konsisten, pengekodan UTF-8 hendaklah dipilih semasa menyimpan fail CSV menggunakan Excel. Sebagai contoh, anda boleh menyimpan fail dalam Excel dengan mengklik "Fail" -> "Simpan Sebagai" dan memilih format "CSV UTF-8 (Comma Delimited)".
Selain itu, kadangkala anda juga boleh menggunakan arahan SET NAMES untuk menetapkan set aksara dalam MySQL. Contohnya:
SET NAMA 'GB2312'.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan aksara bercelaru apabila berinteraksi dengan Excel dan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!