MySQL VARCHAR Lengths and UTF-8: Menjelaskan Kekeliruan
Apabila mencipta medan VARCHAR(32) dalam jadual UTF-8 dalam MySQL, persoalan timbul: adakah ia mewakili kapasiti penyimpanan 32 bait atau 32 aksara? Pemahaman tentang perbezaan ini boleh berbeza-beza bergantung pada versi MySQL.
Memahami Panjang VARCHAR
Dalam MySQL 5.0.3 dan versi yang lebih baru, panjang VARCHAR ditafsirkan dalam unit aksara , bukan bait. Ini bermakna medan VARCHAR(32) boleh memuatkan sehingga 32 aksara, tanpa mengira ruang storan yang diperlukan oleh setiap aksara.
Dalam versi MySQL terdahulu (4.1 dan ke bawah), panjang VARCHAR ditafsirkan dalam bait. Oleh itu, medan VARCHAR(32) dalam UTF-8 akan membenarkan sehingga 32 bait data, yang berpotensi disimpan sebagai kurang daripada 32 aksara, bergantung pada pengekodan aksara.
UTF- 8 Pengekodan Aksara
UTF-8 ialah pengekodan aksara yang boleh mewakili pelbagai jenis aksara antarabangsa, termasuk aksara berbilang bait. Ini bermakna satu aksara yang dikodkan UTF-8 boleh menggunakan berbilang bait ruang storan.
Panjang VARCHAR Maksimum dengan UTF-8
Disebabkan kemungkinan berbilang -bait UTF-8 aksara, panjang maksimum berkesan lajur VARCHAR dalam MySQL 5.0.3 dan lebih baru adalah tertakluk kepada saiz baris maksimum (65,535 bait) dan set aksara yang digunakan. Untuk set aksara UTF-8, VARCHAR boleh mempunyai panjang maksimum kira-kira 21,844 aksara, kerana setiap aksara boleh memerlukan sehingga tiga bait.
Atas ialah kandungan terperinci Berapa Banyak Aksara Yang Boleh Ditahan oleh Medan VARCHAR(32) dalam Jadual MySQL UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!