Я бы определенно рекомендовал UTF-8 для всех других схем кодирования.
Убедитесь, что ваша СУБД полностью соответствует UTF-8, если вы храните многоязычные данные в базе данных
Также убедитесь, что все файлы, включая css, javascript, файлы шаблонов приложений, сами закодированы в UTF-8 с BOM.В противном случае директивы charset
могут неправильно интерпретироваться браузером.
У нас более 30 языков в большой CMS, поддерживаемой базой данных, и она работает как шарм.У клиента есть человеческие редакторы для всех языков, которые выполняют ввод данных.
Вы можете столкнуться с проблемами сопоставления с некоторыми языками (пример страшного турецкого без точек i
- ı - в базах данных без учета регистра происходит вразум).На это всегда есть ответ, но он будет очень специфичным для базы данных.
Я не знаком со спецификой Java Resource Bundles.Мы используем некоторые библиотеки Java, такие как markdownj
, которые обрабатывают текст в кодировке UTF-8 в базу данных и из нее без проблем.
Отредактировано для ответа на комментарии ОП:
Я думаю, что основная причина внедрения UTF-8 заключается в том, что вы никогда не знаете, в каком направлении будут развиваться ваши системы.Вы можете предположить, что сегодня вы будете работать только с одним языком, но это неверно даже в совершенно одноязычных средах, поскольку вам, возможно, придется хранить имена или ссылки, содержащие значения не-US-ASCII октетов.
Кроме того, поток символов в кодировке UTF-8 не будет изменять значения октетов US-ASCII, что обеспечивает полную совместимость с файловыми системами, не поддерживающими UTF-8, или другим программным обеспечением.
Современные современные браузеры будут все правильно интерпретировать UTF-8, если приложение / текстовый файл был закодирован с помощью UTF-8, и вы включите <meta charset="utf-8">
на любой странице, которая передается в браузер.
Проверьте, поддерживает ли ваше промежуточное ПО (php, jsp и т. Д.) UTF-8 где-либо, и сделайте это вместе с вашей базой данных.
Я не вижу, в чем проблема с разработчиками, потенциально имеющими дело с данными, которые они не понимают.Разве это также не тот случай, когда мы имеем дело с данными на наших собственных родных языках?По крайней мере с полностью юникодовой системой они смогут распознавать, соответствуют ли глифы, которые они видят в браузере или в базе данных, языку, с которым они должны иметь дело, вместо того, чтобы получать потоки ?????????????????
Я верю, что использование UTF-8 в качестве кодировки вашего персонажа - это безопасная ставка.Это должно работать практически во всех ситуациях, и вы готовы к тому дню, когда ваш начальник приходит и настаивает на том, что вы должны говорить на нескольких языках.