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

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

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

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

АлгоритмыОбъектно-ориентированная кодировка Униглиф

мёд (китайский иероглиф)Однажды мне рассказали, что при встрече жители Китая, говорящие на совсем разных диалектах и не понимающие друг-друга, вполне могут объясниться письменно, поскольку китайские иероглифы представляют не слова, а понятия. Символы могут читаться по-разному на разных диалектах, но картинка-то на бумаге та же самая. С тех пор я узнал, что не все так идеально с китайскими иероглифами, но сама по себе идея мне очень понравилась. Мне захотелось сделать что-то вроде цифровых иероглифов, которые представляли бы не написание слов, а понятия/смыслы.

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

Linux для всехСетевое вещание — работаем с кодировками

Подключившись к Корбине (нет, это не реклама), и ради интереса просматривая их сайт, я наткнулся на большое количество интернет-радиостанций, к коим попытался немедленно пристраститься.

КодоБредСтрока в UTF-8?

то ли китайцы, то ли индусы. :)
function is_utf($str){
if(iconv("UTF-8","UTF-8",$str)==$str)
return true;
else
return false;
}

UPDATE. Подсказывают что отличились Корейцы.

Веб-разработкаЧто за файл?

Бывает такая ситуация, когда приходят данные в непонятном виде. Если не та кодировка, это решается достаточно просто, а если неизвестные бинарные данные? Экзотический архиватор, шифрованные данные, хеш или вообще мусор?

Думаю, далеко не у всех, кто с этим сталкивается, хватает своих знаний и средств чтобы разобраться.

Отсюда вопрос / идея / предложение.

Персональные блоги Проблемы с кодировкой при посылке @mail в PHP

Недавно столкнулся с проблемой, при отправке сообщений gMail (да и другие тоже), не могли верно отобразить моё письмо, написанное кирилицей.
Полазил в интернете, там этот вопрос уже поднимался, и предлагалось решение. Переработав его под себя, решил выставить и здесь тоже. Думаю, что некоторым из вас оно тоже может пригодиться:

//Функция trim уберет пробелы в начале и в конце
$title = htmlspecialchars(trim($_POST['title']));
$mess = htmlspecialchars(trim($_POST['mess'));

//Конвертирование
$title= '=?koi8-r?B?'.base64_encode(convert_cyr_string $title, "w","k")).'?=';

$to = 'some_main@gmail.com';
$head = "Content-Type: text/plain;\r\n";
$head .= "X-Mailer: PHP/".phpversion()."\r\n";
$head .= "Reply-To: admin@gmail.com\r\n";
$head .= "To: $name \r\n";
$head .= "From: admin@gmail.com\r\n";
$head .= "Subject: $title\n";

//Отправка
mail($to, $title, $mess, $header);

ЗЫ. Надеюсь, пригодится!

УбунтариумШаг 3. Настройка репозиториев и локализации

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

Настройка репозиториев


В Убунту существует пакетная система. Каждый пакет — это часть определенного программного обеспечения. Устанавливая пакеты — мы устанавливаем новые программы, библиотеки, документацию и другие ресурсы. Репозитории — это хранилища пакетов. Так как мы настроили интернет — теперь мы можем скачивать все необходимое оттуда.
НЛО прилетело и опубликовало эту надпись здесь.

Персональные блоги СУП разве не в utf?

Перешел по рекламной ссылке из жж в суп. И увидел это. Честно говоря был немного удивлен. Есть ли кто-нибудь, кто с этим сталкивался? Интересно, что же за проблема… И как это предотвратить. Как я понимаю — сайт в utf. Но с чего это могло взяться?