apa perbedaan antara utf8 dan latin1?
apa perbedaan antara utf8 dan latin1?
Jawaban:
UTF-8 disiapkan untuk dominasi dunia, sedangkan Latin1 tidak.
Jika Anda mencoba untuk menyimpan karakter non-Latin seperti Cina, Jepang, Ibrani, Rusia, dll menggunakan pengodean Latin1, maka mereka akan berakhir sebagai mojibake . Anda mungkin menemukan teks pengantar artikel ini berguna (dan bahkan lebih jika Anda tahu sedikit Java).
Perhatikan bahwa dukungan UTF-8 4-byte penuh hanya diperkenalkan di MySQL 5.5. Sebelum versi itu, hanya berjalan hingga 3 byte per karakter, bukan 4 byte per karakter. Jadi, itu hanya mendukung pesawat BMP dan bukan misalnya pesawat Emoji. Jika Anda ingin dukungan UTF-8 4-byte penuh, tingkatkan MySQL ke setidaknya 5,5 atau gunakan RDBMS lain seperti PostgreSQL. Di MySQL 5.5+ itu disebut utf8mb4
.
VARBINARY
ganti VARCHAR
dan mendekode / menyandikan di tingkat bisnis sendiri, tetapi ini adalah peretasan. Pertimbangkan mengajukan pertanyaan baru, mungkin ada cara yang lebih baik.
Dalam latin1 setiap karakter persis panjang satu byte. Dalam utf8 karakter dapat terdiri dari lebih dari satu byte. Akibatnya utf8 memiliki lebih banyak karakter daripada latin1 (dan karakter yang mereka miliki bersama belum tentu diwakili oleh byte / bytesequence yang sama).
binary
maksudku susun ...? dan mana yang lebih baik untuk bidang bahasa Inggris / numerik: ascii_general_ci
atau ascii_bin
?