- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
function enc($text) {
$bad_symbols = array('ï', 'î', 'é', 'è', 'ì', 'å', 'í', 'õ', 'Ö', 'Ç',
'Â', 'â', 'ó', 'ç', 'ä', 'à', 'Í', 'ò', 'Ð', 'ÿ',
'ñ', 'Ì', 'ë', 'ý', 'ö', 'ã', 'Ñ', 'Ô', 'Ï', 'ü',
'Ã', 'ð', 'æ', 'á', 'À', '¸', 'ù', 'Ê', 'ê', 'Á',
'÷', 'Ý', 'û', 'Ë', 'È', 'Ò', 'ß', 'þ', 'Ä', 'Î',
'Ó', 'Å', 'Æ', 'Û', 'ø', 'ô', '×', '¹', '³', 'Õ', 'Þ', 'Ø');
$good_symbols = array('п', 'о', 'й', 'и', 'м', 'е', 'н', 'х', 'Ц', 'З',
'В', 'в', 'у', 'з', 'д', 'а', 'Н', 'т', 'Р', 'я',
'с', 'М', 'л', 'э', 'ц', 'г', 'С', 'Ф', 'П', 'ь',
'Г', 'р', 'ж', 'б', 'А', 'ё', 'щ', 'К', 'к', 'Б',
'ч', 'Э', 'ы', 'Л', 'И', 'Т', 'Я', 'ю', 'Д', 'О',
'У', 'Е', 'Ж', 'Ы', 'ш', 'ф', 'Ч', '№', 'і', 'Х', 'Ю', 'Ш');
$text_rus = str_replace($bad_symbols, $good_symbols, $text, $count);
// Восстанавливаем японские иероглифы
$bad_symbols = array('іх', 'Тф', 'ҐЇ', 'Ґё', 'ҐЯ', '©`', 'Ґµ', 'Ґа', 'ь\\', '¤¦', '¤µ', 'Ґ«', 'Ґу', 'Ґї', 'Ґм', 'Ґй',
'Ґ¦', 'ҐЙ', 'Ґ·', 'Ґ°', 'ҐК', 'Ґл', 'Ґк', 'Ґи', 'ЈЁ', 'Ј©', 'ЈЬ', 'ЈЇ', 'Бч', 'РЗ', 'СІ', 'зR',
'ВЇ', 'РД', 'ИЪ', 'Ѕв', 'ҐЄ', 'Ґп', 'Ґі', 'РР', 'ЯM', 'Зъ', 'ҐИ', '¤н', '¤ї', '¤у', '¤А', '±°',
'ЗУ', '‘й', 'к ', 'ҐЬ', 'Ґн', '¤П', '¤д', '‰ф', '¤Я', '¤л', '¤і', '¤И', '¤к');
$good_symbols = array('初', '音', 'ク', 'ジ', 'ミ', 'ー', 'サ', 'ム', '黒', 'う', 'さ', 'カ', 'ン', 'タ', 'レ', 'ラ',
'ウ', 'ド', 'シ', 'グ', 'ナ', 'ル', 'リ', 'ヨ', '(', ')', '\', '/', '流', '星', '巡', '鏡',
'炉', '心', '融', '解', 'オ', 'ワ', 'コ', '行', '進', '曲', 'ト', 'ろ', 'た', 'ん', 'だ', '卑',
'怯', '戦', '隊', 'ボ', 'ロ', 'は', 'や', '夢', 'み', 'る', 'こ', 'と', 'り');
$text_jap = str_replace($bad_symbols, $good_symbols, $text_rus, $count2);
if ($count > 3)
return $text_rus;
elseif ($count2 > 3)
return $text_jap;
else return $text;
}
Декодер кривых тегов на интернет-радио.
Написано год назад.
Я, конечно, знал про iconv, но очень хотелось решить головоломку - имелся тег, который я знал, что значит в верной кодировке. А остальные я не знал, что значат.
И в итоге, зная некоторые соответствия символов win-1252 и win-1251, стал отгадывать соответствия к остальным :)
А дальше - высший пилотаж, это даже iconv не брал.
Японские иероглифы, испорченные хрен знает как. Знал только как расшифровывается имя одного исполнителя.
Дальше гуглом и методом тыка искал соответствия к остальным иероглифам.
7ion 01.06.2011 12:22 # 0
sayidandrtfm 01.06.2011 12:45 # +1
Та отож...
Интересно сравнить время затраченное на поиск в гугле и время на освоение iconv.
С другой стороны, умение писать велосипеды может пригодиться, если нужен,например, самокат.
7ion 01.06.2011 13:02 # 0
Я ж говорю - от нехер делать поставил перед собой такую задачу-головоломку.
SmackMyBitchUp 01.06.2011 16:09 # +2
Soul_re@ver 01.06.2011 12:46 # 0
7ion 01.06.2011 13:02 # 0
Soul_re@ver 01.06.2011 13:14 # +1
Хотя иногда, в условиях отсутствия интернета, и не такие велосипеды создавались. А так — вполне нормальный способ решения конкретной задачи «в лоб»
gegMOPO4 08.06.2011 19:14 # 0
TiGR 01.06.2011 13:34 # +6
wvxvw 01.06.2011 14:08 # +1
wwwguru 10.06.2011 14:48 # 0
Чуток ошибся. В Юникоде для них отведено 5 диапазонов, 47614 + 20991 + 100607 + 511 + 2047 = 171 770 штук.
wvxvw 10.06.2011 15:16 # 0
ej 01.06.2011 14:56 # 0
Смеялся после этого символа.
jQuery 01.06.2011 15:15 # −8
SmackMyBitchUp 01.06.2011 20:13 # +2
bugmenot 01.06.2011 15:07 # 0
http://dobrochan.ru/src/jpg/1005/japan-bash-a-country-assignment-demotivational-pos.jpg
TheHamstertamer 02.06.2011 13:35 # 0
ReallyBugMeNot 01.06.2011 17:33 # 0
guest8 09.04.2019 10:52 # −999