Достаточно ли UTF-8 для всех распространенных языков?
Я просто хотел разработать приложение для перевода в проектах Django, которое позволит зарегистрированным пользователям с определенными разрешениями переводить каждое сообщение, которое появляется в последней версии.
У меня вопрос, какой набор символов я должен использовать для таблиц базы данных в этом приложении перевода? Похоже, некоторые символы европейского языка не могут быть сохранены в UTF-8?
2 ответа
Похоже, некоторые символы европейского языка не могут быть сохранены в UTF-8?
Не правда. UTF-8 может хранить любой набор символов без ограничений, за исключением, может быть, клингона. UTF-8 - это ваш универсальный магазин для интернационализации. Если у вас есть проблемы с символами, они, скорее всего, связаны с проблемами кодирования или отсутствием поддержки для того диапазона символов в шрифте, который вы используете для отображения данных (хотя крайне маловероятно для символов европейского языка, но часто встречается, например, при просмотре индийские сайты на европейском компьютере. Смотрите также этот вопрос)
Если не-западный набор символов не может быть отображен, возможно, встроенный шрифт пользователя не покрывает этот диапазон UTF-8.
Обновление: Klingon это действительно не является частью официального UTF-8:
Некоторые современные изобретенные сценарии, которые еще не были включены в Unicode (например, Tengwar) или которые не подходят для включения в Unicode из-за отсутствия реального использования (например, Klingon), перечислены в реестре Unix-кода ConScript вместе с неофициальными но широко используемые присвоения кода частного пользования.
Тем не менее, существует проект добровольцев, который неофициально назначил кодовые точки F8D0-F8FF в частной зоне для клингона. Галерея клингонских персонажей
UTF-8 может использоваться для представления всего Unicode, поэтому он не позволяет вам выражать все распространенные языки. Это позволяет вам выразить все языки.
Если кажется, что некоторые европейские символы не работают, это проблема кодирования.