Моє домашнє тварина переглядає стільки програмних проектів, які мають гори коду для підтримки набору символів. Не зрозумійте мене неправильно, я весь за сумісність, і я радий, що текстові редактори дозволяють відкривати та зберігати файли в декількох наборах символів. Мене дратує те, як розповсюдження не універсальних кодувань символів позначається "належною підтримкою Unicode", а не "проблемою".
Наприклад, дозвольте мені вибрати PostgreSQL та підтримку його набору символів . PostgreSQL має справу з двома типами кодування:
- Кодування клієнта: використовується в спілкуванні між клієнтом і сервером.
- Кодування сервера: використовується для внутрішнього зберігання тексту в базі даних.
Я можу зрозуміти, чому добре підтримувати багато кодувань клієнтів. Це дозволяє клієнтам, які не працюють в UTF-8, спілкуватися з PostgreSQL, не потребуючи перетворення. Що я не отримую: чому PostgreSQL підтримує кілька кодувань сервера ? Файли баз даних (майже завжди) несумісні з однієї версії PostgreSQL до наступної, тому сумісність між версіями тут не є проблемою.
UTF-8 - єдиний стандартний набір символів, сумісний з ASCII, який може кодувати всі кодові точки Unicode (якщо я помиляюся, повідомте мені про це). Я вважаю, що UTF-8 - найкращий набір символів, але я готовий миритися з іншими універсальними наборами символів, такими як UTF-16 та UTF-32.
Я вважаю, що всі не універсальні набори символів повинні бути застарілими. Чи є якась вагома причина, чому вони не повинні?