войти зарегистрироваться

MySQLКак перекодировать latin1 в кириллицу из песочницы

Мне каждый раз задают один и тот же вопрос, спрашивают об одном и том же: «Как перекодировать кракозябры из базы данных, хранящей строки в кодировке latin1 в нормальную кириллицу (windows-1251) или utf-8».

Ниже я постараюсь наиболее полно ответить на данный вопрос, а также приведу кусок кода на PHP, который однозначно решает проблему.

ТипографикаTypekit приобретён Adobe

3 октября 2011 года сервис Typekit, бизнес которого построен на платном предоставлении доступа к коммерческим шрифтам для оформления сайтов в Паутине при помощи директивы @font-face на языке CSS, был приобретён Adobe. В тот же день об этом можно было прочесть во блоге у Typekit и в пресс-релизе Adobe. По заявлению Adobe, сервис Typekit (в настоящее время насчитывающий около четверти миллиона пользователей, в их числе «Нью-Йорк Таймс» и Wordpress) со временем станет частью проекта Adobe Creative Cloud.

Следует заметить, что Adobe и без того можно было причислить к интернетовским шрифтоторговцам; просто в их коллекции Adobe Web Fonts число шрифтов перевалило за пару сотен, тогда как Typekit торгует тысячами. Полезно сопоставить это с количеством шрифтов в коллекции Adobe Type Library, которые продаются для внеинтернетовского употребления — число их превосходит 2300.

ТипографикаПример ≈двукратного ускорения загрузки шрифта для заголовков из Google Web Fonts, осуществляемого выборкою оптимальной версии его

[иллюстрация-скриншот]Если на сайт вики-энциклопедии «Циклопедия» забредёт пользователь компьютера, оснащённого современным программным обеспечением Корпорации Microsoft, то тогда взгляд его прежде всего окажется привлечён шрифтом заголовков первого и второго уровня («Циклопедия», «Культура», «Общество», «Наука и техника», «Природа и человек», «Быт»): такой шрифт нынче не часто встречается во Всемирной Паутине (это вы можете без труда смекнуть и самостоятельно, когда сравните фрагмент скриншота, мною справа для того приложенный, с собственным вашим опытом).

Но этот шрифт, господа, да станет всем нам примером того, как не следует оформлять наши заголовки. А угадаете ли, почему это так? Да потому, что шрифт этот — Candara (и это нетрудно увидать воочию: достаточно прибегнуть к расширению «Context Font» или вглядеться в нынешний вики-код заглавной страницы Циклопедии и её подшаблона «Раздел»). Некоторые из нас ужé знают или хотя бы догадываются (а другим достаточно взглянуть в Википедию, чтобы узнать) о том, что Candara — это шрифт эксклюзивный, который встречается только в сравнительно недавних продуктах Корпорации Microsoft, таких как последние Windows (Vista, Windows 7) и Office 2007, да ещё раздаётся в составе Microsoft Powerpoint Viewer 2007 и Microsoft Office Compatibility Pack (в том числе для более ранних систем — для Windows XP, для Windows 2000). Если же на такой сайт забредёт читатель с Линуксом, или Маком, или Андроидом, или Айфоном, или Айпадом — то тогда, сами понимаете, «Кандару» взять ему будет неоткуда — и вид заголовка поневоле станет далеко отличаться от желаемого.

А ведь можно обеспечить единообразное отображение заголовка во всех системах и браузерах; для этого достаточно попросту отгрузить всем читателям один и тот же шрифт. Шрифт можно раздавать с собственного же сайта (добавив продуманные правила @font-face в свой CSS), а можно воспользоваться услугами внешнего хостинга шрифтов — например, услугами коллекции свободных и бесплатных шрифтов «Google Web Fonts», чей красивый новый интерфейс обсуждали на Хабрахабре в конце июня. О ней-то и поговорим под хабракатом.

Что следует сказать по поводу употребления Google Web Fonts при оформлении заголовков?

Информационная безопасностьМожно ли верить своим глазам? (Unicode в именах файлов)

Несколько дней назад один из наших пользователей прислал образец (SHA1: fbe71968d4c5399c2906b56d9feadf19a35beb97, определяется как TrojanDropper:Win32/Vundo.L). Это троян для фишинга с сайтов vk.com и vkontakte.ru, запросы на которые перенаправляются на 92.38.209.252 необычным способом.

Обычный метод перенаправления трафика — добавить запись в файл hosts, который находится в папке %SystemRoot%\system32\drivers\etc. Однако, когда мы открываем этот файл на заражённом компьютере, то там нет никаких записей для vk.com и vkontakte.ru:


Блог компании Mail.Ru GroupПочта Mail.Ru (даже если ты китаец)

Хотим поделиться радостью: мы успешно перевели нашу почту на 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 бит в секунду. Кстати, те, кто покупал первые модемы, помнят, что скорость значилась именно в бодах – единицах измерения имени Эмиля Бодо, изобретателя кода и высокоскоростного телеграфного аппарата.

Разработка под AndroidКак подружить SQLite андроида с языком, отличным от английского


Здравствуй, дорогой читатель!
В этой статье я хочу затронуть проблему хранения кириллических данных в SQLite, попробовать разобраться с Android NDK, и вообще зажить прекрасной жизнью! Однако, с этого момента, считаю важными первые два пункта. О них и поговорим.

Известная проблема SQLite состоит в том, что он не любит никаких символов, кроме латинских, поэтому выполняется такое [1]:
SELECT "ы" LIKE "Ы";
0
SELECT "s" LIKE "S";
1


Такая проблема актуальна для наших широт, и может быть решена пользовательскими функциями.
Но Android не поддерживает функций, поэтому создаются костыли.

Блог компании REG.RUIDN домены на русском языке – теперь в .ORG

19 февраля в 22:00 (по московскому времени) открывается регистрация IDN доменов на всех языках мира в международной зоне .ORG. Напомним, что первопроходцем IDN в домене .ORG еще в 2005 году стал немецкий язык, содержащий умлауты. Позже в зоне .ORG стали доступны для регистрации домены еще на десяти языках – датском, венгерском, исландском, корейском, латышском, литовском, норвежском, польском, шведском и тамильском. Наконец, в этом году пришло время и остальных мировых языков, в том числе – русского, украинского и казахского.

Чтобы вы – наши клиенты – могли выбрать и зарегистрировать самые интересные IDN домены в зоне .ORG в числе первых, мы открыли прием предварительных заявок. Уже сейчас заявку можно подать на сайте REG.RU согласно стандартной процедуре регистрации.

ТипографикаРусская капитель: бессмысленно и беспощадно

Иногда про капитель говорят, что это буквы, которые по форме как прописные, а по высоте — как строчные. Это не совсем так: вернее будет сказать, что капитель по форме похожа на прописные буквы, а по высоте похожа на строчные:

Капитель

Настоящую капитель нельзя получить простым уменьшением прописных. Чтобы в этом убедиться, сравните соответствующие символы. В каждой паре первая буква — капительная, а вторая — уменьшенная прописная:

ТипографикаПлохая и хорошая кириллица

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

В нашей стране с образованием дизайнеров туго, а шрифтового образования и нет вовсе. Один лишь только курс Ильи Рудермана в БВШД пытается хоть как-то исправить эту печальную картину.

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

Западные дизайнеры не чувствуют наши буквы и делают порой серьезные ошибки. У них отлично получается латиница, но точности контура маловато для качественной шрифтовой работы — надо чувствовать. На мой взгляд, самая качественная западная кириллица у Luc(as) de Groot. Даже крупные и именитые западные агентства выпускают на рынок шрифты с никуда не годной кириллицей, что еще сильнее показывает всю драматичность ситуации. Я выборочно расскажу о том, что мне попадалось на глаза.

ТипографикаОбновились свободные шрифты Linux Libertine, Linux Biolinum, а также некоторые из шрифтов Arkandis Digital Foundry

На Linux.org.Ru во блогозаписи «Эпидемия свободных шрифтов» рассказывают о том, что в этом году вышло обновление сразу нескольких свободных (открытых, бесплатных) шрифтов.

Прежде всего это гарнитура «Linux Libertine» (задуманная как аналог «Times New Roman» по размерам символов), и с нею доступная на том же сайте для скачивания в том же наборе файлов гарнитура «Linux Biolinum».

Также обновились сразу несколько свободных гарнитур Arkandis Digital Foundry (это «Berenis-Pro», «Gillius Collection» и «Tribun-Std»), а также шрифт «SwitzeraADF» (он выложен на странице доработок, так как не был с нуля разработан в Arkandis, а является доработкою шрифта «Vera Sans»).

Автор ЛОРовской блогозаписи полагает, что все эти шрифты предназначены скорее для использования в печатаемых документах, нежели в элементах интерфейса приложений. Мне его суждение представляется, однако, слишком категорическим: гарнитура «Linux Libertine» кажется готовою для Паутины, да и гарнитура «Linux Biolinum» вполне сгодилася бы для сайтов, кабы только кернинг у ней был в порядке. Также, по-видимому, в Arkandis полагают их гарнитуру «Berenis-Pro» пригодною к употреблению на сайтах, коль скоро прикладывают её вариант в формате WOFF в том же архиве для скачивания, что и OTF.

Лично меня немало порадовало присутствие в «Linux Libertine» и в «Linux Biolinum» букв добольшевицкой кириллицы («ѣ», «ѵ», «і», «ѳ»), а вот гарнитура «Berenis-Pro» вообще для русского языка менее чем пригодна, оттого что она не просто не содержит букв наших, но и заполнена вместо них пробелами.