Как стать автором
Обновить

Буква «ё»

Habr
Что-то у вас с таблицами перекодировки.

В почту (которая в koi8-r) буква «ё» из комментов приходит вот в таком виде:
— Совершенно необязательно такому ролику быть смешным. Например, есть множество примеров вирусных компаний, основанных на вполне серь╓зной эротике с порнографией.
Рейтинг 0
Просмотры 1.4K
Комментарии 2

Отображение кодировок

Софт
Мы рано радовались: проблемы с кодировками в Windows еще не решены. Источником головной боли для разработчиков может быть, казалось, такая простая ситуация, о которой сообщает один из пользователей:

«Дело в том, что у меня немецкий Windows, с немецким языком по умолчанию, а 90% программистов, видимо, не подозревают, что есть отличные от их родного языка кодировки, и практически весь софт, кроме, разве что, офиса от Microsoft, браузера Opera и некоторых переносимых программ из Linux, не умеет отображать кириллицу в немецкой винде или немецкие символы, если кодировкой по умолчанию установлен русский.»
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.5K
Комментарии 22

Переводим слово «entity»

Терминология IT
В контексте «SGML/HTML entity», не в более широком и не в философском.

Некоторые источники предлагают «сокращение», но считать, например, «ù» сокращённой формой «ù» у меня язык не повернётся.
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.1K
Комментарии 31

Кодировки must die

Чулан
йНДХПНБЙХ ОПЕДЯРЮБКЧР ЯНАНИ НДМН ХГ МЮХЛЕПГЕИЬХУ НПСФХИ АНПЭАШ Я ПСМЕРНЛ.

«KOI8», — подумал Штирлиц.

Как подсказал Яндекс, в самом полном словаре иероглифов корейского языка, подготовленном около тысячи лет назад, было учтено около 53 тысяч знаков. Тяжело им, наверно, корейцам. В русском же языке другая проблема: всего 33 буквы, но зато кодировок… кто-то их считал? Я нет. В опере 4, файерфокс предлагает на выбор 7.
Читать дальше →
Всего голосов 27: ↑22 и ↓5 +17
Просмотры 802
Комментарии 123

Использование кодировок в MySQL >= 4.1

MySQL *
Когда я только начал осваивать InnoDB и транзакции в MySQL (понадобилось обновить версию с 3.23 до 4.1) столкнулся с проблемой некорректного обмена данными между PHP и MySQL которая проявлялась в том, что сервер вместо символов кириллицы, в запросах генерируемых php-скриптом, вставлял в ячейки таблиц БД знаки вопроса. В процессе «выкуривания» документации, чтения форумов и изучения статей пришло понимание проблемы и нашелся способ ее решения.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 51K
Комментарии 10

Разберемся раз и навсегда: AJAX, «кириллические символы», кодировки, prototype.js, jQuery, JsHttpRequest

Разработка веб-сайтов *
AJAX, — это технология. Одной из часто используемых техник этой технологии является
посылка запросов при помощи объекта класса XMLHttpRequest.


Как же посылать и принимать AJAX запросы в нужной нам кодировке, нужно ли использовать однобайтовые кодировки или не обойтись без UTF-8. На все эти вопросы раз и навсегда ответит эта статья.

Читать дальше →
Всего голосов 64: ↑57 и ↓7 +50
Просмотры 162K
Комментарии 125

Приколы кодировок

Чулан
Прикол на работе. Корректируя модуль, определяющий кодировки, проанализировали, какие кодировки указывают веб-мастера в своих HTML-страницах. Результаты конечно не обобщенные со всего инета, а только по определенному сегменту, но в любом случае показательные:

Итак, что пишут…

'text/html; charset=$yycharset': 26,
'text/html; charset=.cp-1251': 206,
'text/html; charset=.utf8': 2,
'text/html; charset=1251': 6,
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 615
Комментарии 4

Кодировки

VIM *
Тут на самом деле всё просто. Храните все тексты в Unicode и будет вам счастье (при условии правильно установленной опции 'encoding' конечно ;) В ином случае (у вас куча текстов в национальных кодировках) придется
дочитать топик до конца
Всего голосов 28: ↑20 и ↓8 +12
Просмотры 35K
Комментарии 17

Решение проблемы с кодировками в Mono

.NET *

Проблема.


В целом, эта проблема может по-разному проявляться. В моём случае это был SharpDevelop, напрочь отказавшийся компилировать Hello world, который в командной оболочке (в том числе, через NAnt) собирается без ошибок.
Читать дальше →
Всего голосов 11: ↑10.5 и ↓0.5 +10
Просмотры 1.1K
Комментарии 2

QIP. Убить нельзя помиловать.

Чулан
Наверное хоть раз в жизни вам пришлось встретится с проблемой кодировок при общении в ICQ, сообщения приходят «крякозябрами» одному или обоим оппонентам. Приходится писать транслитом или переходить в другой клиент/протокол. Для меня лично общение по аське — часть работы и IM клиент — такой же инструмент как и IDE разработки. Наверное я не единственный кого подобные проблемы банально достали.
Читать дальше →
Всего голосов 57: ↑32 и ↓25 +7
Просмотры 399
Комментарии 40

Пара слов про UTF-8

Perl *
Perl долгое время ничего не знал про кодировки. Строка была просто последовательностью байтов, каждый держал там все что хотел, и лишь изредка приходилось задумываться о том, какая же все-таки кодировка у этих данных. Времена изменились, появился UTF; поддержать его пришлось и перлистам. Как это обычно бывает, in a perl way. Я надеюсь, что эта статья сбережет немного здоровья тем, кто до сих пор пребывает в неведении относительно реализации UTF-8 в Perl.
Читать дальше →
Всего голосов 52: ↑48 и ↓4 +44
Просмотры 43K
Комментарии 53

PHP класс для конвертирования кодировки базы Mysql

Чулан
Недавно я написал скрипт конвертирования Mysql базы из одной кодировки в другую. После, я решил переписать скрипт, создав класс. Теперь можно подключать эту библиотеку в своих скриптах. Использование данного класса показано ниже.
Читать дальше →
Всего голосов 26: ↑17 и ↓9 +8
Просмотры 249
Комментарии 32

Как выглядит арабская клавиатура

Типографика *
В комментариях к блестящему топику «Как выглядит китайская клавиатура» высказали интересную идею: рассказать про набор текста в разных языках с необычной письменностью.

Арабам относительно повезло: у них лишь 28 букв — даже меньше, чем в русском. Каждой букве можно назначить отдельную клавишу, и ещё останутся свободные. Зато с их письменностью возникают свои сложности, неведомые китайцам.
Читать дальше →
Всего голосов 176: ↑169 и ↓7 +162
Просмотры 17K
Комментарии 233

UTF-8 в PHP. Часть 1

PHP *
Здравствуйте, этим постом я хотел бы попытаться приблизить светлое будущее, в котором все используют «кошерную» кодировку UTF-8. В частности это касается наиболее близкой мне среды – веба и языка программирования – PHP, а в конце серии мы подойдём к практической части и разработаем ещё одну велосипедную библиотеку.
Читать дальше →
Всего голосов 62: ↑47 и ↓15 +32
Просмотры 22K
Комментарии 57

Как отобразить страницу в UTF-8, несмотря на windows-1251 в HTTP-заголовке

JavaScript *
Есть у меня старый сайт на Народ.Ру, и недавно я закинул туда несколько статей — как это я теперь делаю в UTF-8. Кодировка была указана в теге meta, но, взглянув на страницы, я увидел крякозябры: «Р§С‚Рѕ-то случилось.» Оказывается, Народ.Ру шлёт HTTP-заголовок Content-Type: text/html; charset=windows-1251 и это на нём никак не отключается. Пользователь может получить читабельный текст — только если догадается вручную переключить кодировку в браузере.

Что делать? Переходить на другой хостинг? Само собой, но пока руки не дошли, хотелось добиться результата тут. Перекодировать тексты? Более достойным и интересным показалось поставить Javascript-«заплатку».

Способа переключить кодировку из Javascript я не нашёл. Остался вариант перекодировать текст скриптом, запускаемым по событию onready документа.

Итак, браузер получает текст в UTF-8, разбивает UTF-последовательности на группы по 8 бит и трактует их как коды символов в кодировке Windows-1251. Чтобы восстановить читаемость текста, нужно получить эти коды, объединить их в UTF-последовательности, а из них — восстановить Unicode-коды символов и вернуть последние посредством числовых ссылок HTML на символы. В этом деле обнаружились несколько закавык.

Читать дальше →
Всего голосов 24: ↑11 и ↓13 -2
Просмотры 20K
Комментарии 25

Почта Mail.Ru (даже если ты китаец)

Блог компании VK
Хотим поделиться радостью: мы успешно перевели нашу почту на UTF-8. Теперь можно спокойно переписываться с арабами, китайцами, японцами, греками, грузинами, писать письма на иврите и идише, блеснуть знанием финикийской письменности или зашифровать послание нотами. И при этом быть уверенным, что адресат получит именно то, что ему отправили, а не квадратики или «кракозябры».

Как и многие серьезные изменения, процесс перехода потребовал серьезной подготовки и имел большую «подводную» часть – перед разработчиками стояла задача обработать 6 петабайт писем в более чем сотне миллионов ящиков. Первые эксперименты начались осенью 2010 года, и весной 2011 все ящики были успешно переведены на новую систему. Одновременно с этим символично сменился домен проекта «почта»: вместо основного домена win.mail.ru и исторических koi.mail.ru и mac.mail.ru, которые выдавали сайт в соответствующих кодировках, теперь используется e.mail.ru, выдающий все страницы в UTF-8. Вся почта также хранится, обрабатывается и выводится в UTF-8. Это означает, что в письмах можно использовать любые живые и мертвые языки, математические и нотные символы, причем как в виде plain-text, так и с форматированием.

Чтобы напомнить, как обстояли дела с международным общением еще недавно, мы подготовили небольшой экскурс в историю кодировок.

Вначале была цифра


Удивительно, но проблема кодировки сообщений, которая в восьмидесятых мучила первых сетевых пользователей, а в девяностых была бичом зарождающегося Рунета, возникла задолго до появления компьютера. Одним из самых первых ростков информационного века был телеграф, и сейчас нужно некоторое усилие, чтобы вспомнить, что способ связи, возникший еще до телефона, был изначально цифровым.

Не считая в чистом виде двоичной азбуки Морзе, первым кодом, превратившимся в стандарт, стал код Бодо. Этот 5-битный синхронный код позволял телеграфам передавать примерно 190 знаков в минуту (а в последствие до 760) или 16 бит в секунду. Кстати, те, кто покупал первые модемы, помнят, что скорость значилась именно в бодах – единицах измерения имени Эмиля Бодо, изобретателя кода и высокоскоростного телеграфного аппарата.
Читать дальше →
Всего голосов 109: ↑79 и ↓30 +49
Просмотры 19K
Комментарии 125

LXML — проблемы с кодировкой при парсинге HTML

Разработка веб-сайтов *
Из песочницы
Данный пост посвящен извечной проблеме всех питонистов — кодировкам. Недавно я получил письмо, в котором мой знакомый жаловался на то, что у него в программе получаются строчки вида::

u'\xd0\x9a\xd1\x83\xd1\x80\xd1\x83\xd0\xbc\xd0\xbe\xd1\x87'

Вы заметили что что-то не так? И я вот. Строчки как бы уникодные, но внутри них закодированные utf-8 байты. Что-то здесь не так. Разбираясь дальше и потребовав скрипт, которые такое генерирует, становится понятно, что данные берутся из веба. Вполне обычным способом через urllib и потом скармливаются в lxml.html для разбора. Поскольку urllib оперирует только байтовыми строками, то он не мог их так превратить в уникод, а значит во всем виноват lxml.
Читать дальше →
Всего голосов 41: ↑23 и ↓18 +5
Просмотры 13K
Комментарии 9

Исправление и изменение кодировок MySQL

Я пиарюсь
Боремся с кракозябрамиВ связи с тем, что довольно много людей обращается с просьбой помочь исправить проблему с кодировками MySQL, решил написать статью с описанием, как «лечить» наиболее часто встречающиеся случаи.

В статье описывается не то, как первоначально правильно настроить кодировки MySQL (об этом уже довольно много написано), а о случаях, когда есть довольно большие таблицы с неправильными кодировками и нужно всё исправить.

Самое плохое в неправильно настроенных кодировках — то, что зачастую проблему сложно обнаружить, и с первого взгляда может казаться, что сайт работает правильно, и никаких проблем нет.
Читать дальше →
Всего голосов 96: ↑64 и ↓32 +32
Просмотры 16K
Комментарии 36

Выход Node.JS версии 0.6.3 и две ошибки, найденные при работе с кодировками дочерних процессов в консоли Windows XP

Node.JS *
Tutorial
В официальном блоге Node.JS вчера (25 ноября) объявлено о выходе новой версии Node, под номером 0.6.3. Изменения не очень значительны: исправлен десяток ошибок да недочётов.

Я счёл это небезынтересным подарком ко дню рождения (по приятному совпадению, 25 ноября мне исполнилось 33 года). Однако в тот же день, задавшись вопросом «Как принять вывод Windows-команды, вызванной из node.js?», я начал в Windows XP серию экспериментов, конечным итогом которой стало обнаружение сразу двух ошибок Node при работе с кодировками под Windows.

Во-первых, при вызове команды методом require('child_process').exec(…) Node ожидает от неё вывода в кодировке UTF-8, тогда как в русифицированной системе Windows команды (например, dir) выводят текст в кодировке CP866.

Во-вторых, если дочерний консольный процесс изменит кодировку консоли, то будет воздействовать и на кодировку консоли родительского процесса Node (в частности, на вывод методом console.log) — получается, что консоль у них одна и та же, или что-то в этом же дýхе.

А теперь немного подробностей.

Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 3.3K
Комментарии 10
1