Kencing hewan peliharaan saya sedang melihat begitu banyak proyek perangkat lunak yang memiliki banyak kode untuk dukungan set karakter. Jangan salah paham, saya semua mendukung kompatibilitas, dan saya senang editor teks membiarkan Anda membuka dan menyimpan file dalam beberapa set karakter. Yang mengganggu saya adalah bagaimana proliferasi pengkodean karakter non-universal diberi label "dukungan Unicode yang tepat" daripada "masalah".
Sebagai contoh, izinkan saya memilih PostgreSQL dan dukungan rangkaian karakternya . Penawaran PostgreSQL dengan dua jenis pengkodean:
- Pengkodean klien: Digunakan dalam komunikasi antara klien dan server.
- Pengkodean server: Digunakan untuk menyimpan teks secara internal dalam database.
Saya bisa mengerti mengapa mendukung banyak pengkodean klien adalah hal yang baik. Ini memungkinkan klien yang tidak beroperasi di UTF-8 untuk berkomunikasi dengan PostgreSQL tanpa perlu melakukan konversi. Apa yang tidak saya dapatkan adalah: mengapa PostgreSQL mendukung beberapa penyandian server ? File basis data (hampir selalu) tidak kompatibel dari satu versi PostgreSQL ke versi berikutnya, jadi kompatibilitas lintas versi bukan masalah di sini.
UTF-8 adalah satu-satunya set karakter standar yang kompatibel dengan ASCII yang dapat menyandikan semua codepoint Unicode (jika saya salah, beri tahu saya). Saya berada di perkemahan bahwa UTF-8 adalah set karakter terbaik , tetapi saya bersedia untuk memasang set karakter universal lainnya seperti UTF-16 dan UTF-32.
Saya percaya semua set karakter non-universal harus ditinggalkan. Apakah ada alasan kuat yang tidak seharusnya mereka lakukan?