Рубрика «utf-8» - 2

Если вы последние лет десять следите за обновлениями «коробочной версии» Битрикса (не 24), то давно уже заметили, что обновляется только модуль магазина и его окружение. Все остальные модули как были когда-то давным-давно написаны, в таком состоянии пребывают и до сих пор, получая лишь крохотные изменения ради увеличения циферки в версии.

Несмотря на это, презентации новых версий битрикса пестрят красивыми заголовками и стараются поддерживать у потенциальных клиентов иллюзию развития, обещая скорость, надёжность и главное безопасность, подтверждённую старым сертификатом ФСТЭК

Почему 1С-Битрикс с 1 декабря 2019 года может превратиться в тыкву - 1

Но есть нюансы

Читать полностью »

Использование UTF-8 в HTTP заголовках - 1

Как известно, HTTP 1.1 — это текстовой протокол передачи данных. HTTP сообщения закодированы, используя ISO-8859-1 (которую условно можно считать расширенной версией ASCII, содержащей умляуты, диакритику и другие символы, используемые в западноевропейских языках). При этом в теле сообщений можно использовать другую кодировку, которая должна быть обозначена в заголовке «Content-Type». Но что делать, если нам необходимо задать non-ASCII символы не в теле сообщения, а в самих заголовках? Наверное, самый распространенный кейс — это проставление имени файла в «Content-Disposition» заголовке. Это, казалось бы, довольно распространенная задача, но ее реализация не так очевидна.

TL;DR: Используйте кодировку, описанную в RFC 6266, для «Content-Disposition» и преобразуйте текст в латиницу (транслит) в остальных случаях.
Читать полностью »

Пакет Network Security Services (NSS) представляет собой набор библиотек, используемых при кроссплатформенной разработке защищенных клиентских и серверных приложений.
Читать полностью »

Юникод — это очень большой и сложный мир, ведь стандарт позволяет ни много ни мало представлять и работать в компьютере со всеми основными письменностями мира. Некоторые системы письма существуют уже более тысячи лет, причём многие из них развивались почти независимо друг от друга в разных уголках мира. Люди так много всего придумали и оно зачастую настолько непохоже друг на друга, что объединить всё это в единый стандарт было крайне непростой и амбициозной задачей.

Чтобы по-настоящему разобраться с Юникодом нужно хотя бы поверхностно представлять себе особенности всех письменностей, с которыми позволяет работать стандарт. Но так ли это нужно каждому разработчику? Мы скажем, что нет. Для использования Юникода в большинстве повседневных задач, достаточно владеть разумным минимумом сведений, а дальше углубляться в стандарт по мере необходимости.

В статье мы расскажем об основных принципах Юникода и осветим те важные практические вопросы, с которыми разработчики непременно столкнутся в своей повседневной работе.Читать полностью »

Казалось бы, в Юникод включили уже все возможные и невозможные символы. В последней версии Unicode 7.0 добавлено 23 новых письменности, включая древнепермское письмо и почти полностью расшифрованное линейное письмо А минойской цивилизации 2000 г до н.э., сотни экзотических эмотиконов.

Общее количество символов в Unicode превысило 110 000 штук. Казалось бы, там уже есть все распространённые символы. Оказывается, это не так. До сих пор остались люди, которые не могут написать в Юникоде даже собственное имя. Им приходится прибегать к разным трюкам.

О своей проблеме рассказал индийский IT-специалист, имя которого мы не можем правильно напечатать, разве что в транслитерации: Адитья Мукереджи.
Читать полностью »

На дворе подходит к концу 2014 год, слово «юникод» уже не вызывает, вроде бы, священный трепет даже у Ричи Столлмана. Казалось бы, мы знаем и умеем хотя бы UTF-8. Неприятно вас удивлю: это не так. Давайте для начала взглянем на несколько картинок редактирования простого HTML (смотреть нужно внутрь тега body):

IntelliJ IDEA
«Sanitize this!» и «Search that!»

Sublime
«Sanitize this!» и «Search that!»

Eclipse
«Sanitize this!» и «Search that!»

Это один и тот же файл. Вот его код:

<!doctype html>
<head>
  <meta charset="utf-8">
</head>
<body>
    Barçelona Barçelona
</body>
</html>

Читать полностью »

Практическое руководство по Unicodeизации

Мы, наконец, это сделали! Долгое время позорное наследие CP1251 раздражало разработчиков, наводило на мысли о том, что, как же так? Эпоха Unicode уже давно наступила, а мы все еще используем однобайтовую кодировку и расставляем в разных местах костыли для совместимости с внешними системами. Но причина тому была достаточно рациональная: перевести на Unicode большой проект, в который развился Мой Мир, очень трудоемко. Мы оценивали это в полгода и не были готовы тратить столько ресурсов на фичу, которая не принесет русскоязычной аудитории существенной пользы.

Но история вносит свои коррективы, зачастую весьма неожиданные. Не секрет, что в Казахстане весьма популярен проект Мой Мир, который является самой популярной социальной сетью в этой стране. И нам всегда хотелось, чтобы у наших казахских пользователей появилась возможность использовать символы казахского алфавита из расширенного кириллического набора, которым, к сожалению, не нашлось места в CP1251. И дополнительным стимулом для нас, позволившим, наконец, оправдать длительную разработку, стал дальнейший рост популярности нашего проекта за пределами нашей страны. Мы поняли, что пора делать шаг навстречу нашим зарубежным пользователям.

Разумеется, первое, что было необходимо для интернационализации проекта, это начать принимать, передавать, обрабатывать и хранить данные в UTF-8. Процедура эта для большого проекта непростая и длительная, по пути нам пришлось решить несколько достаточно интересных задач, про которые мы постараемся рассказать.
Читать полностью »

Небольшой хак по преобразованию кодировки windows-1251 в MSSQL в Unicode для Qt5.
Читать полностью »

Разумеется, в PHP есть прекрасная функция json_encode. Но до версии 5.3 включительно те же русские символы кодируются в виде uXXXX — в разы длиннее, чем utf-8. Чтобы уменьшить объем трафика, необходимо убрать преобразование utf-8 символов в u-последовательности. Да, в PHP 5.4 у json_encode наконец-то появился параметр JSON_UNESCAPED_UNICODE, но многие хостеры до сих пор представляют пользователям выбор только между версиями 5.2 и 5.3.

Я бы не стал изобретать очередной велосипед, но те решения, которые мне попадались, имеют общую проблему — они корректно обрабатывают только символы базовой плоскости юникода.Читать полностью »

Вся правда о UTF 8 флаге

Распространённое заблуждение состоит в том, что строки символов, в отличие от строк байтов, имеют UTF-8 флаг установленным.
Многие догадываются, что если данные являются ASCII-7-bit, то UTF-8 флаг просто не важен.

Однако, на самом деле, он может быть установлен или сброшен, как и у символов, так и абсолютно произвольных бинарных данных.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js