1. PHP / Говнокод #13021

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    function u8($win,$h,$t)  
    {  
    global $w8;  
    $w8[chr($h).chr($t)] = $win;  
    }  
    $c1 = chr(208);  
    $c2 = chr(209);  
    u8("й",208,185); u8("ц",209,134); u8("у",209,131);  
    u8("к",208,186); u8("е",208,181); u8("н",208,189);  
    u8("г",208,179); u8("ш",209,136); u8("щ",209,137);  
    u8("з",208,183); u8("х",209,133); u8("ъ",209,138);  
    u8("ф",209,132); u8("ы",209,139); u8("в",208,178);  
    u8("а",208,176); u8("п",208,191); u8("р",209,128);  
    u8("о",208,190); u8("л",208,187); u8("д",208,180);  
    u8("ж",208,182); u8("э",209,141); u8("я",209,143);  
    u8("ч",209,135); u8("с",209,129); u8("м",208,188);  
    u8("и",208,184); u8("т",209,130); u8("ь",209,140);  
    u8("б",208,177); u8("ю",209,142); u8("Й",208,153);  
    u8("Ц",208,166); u8("У",208,163); u8("К",208,154);  
    u8("Е",208,149); u8("Н",208,157); u8("Г",208,147);  
    u8("Ш",208,168); u8("Щ",208,169); u8("З",208,151);  
    u8("Х",208,165); u8("Ъ",208,170); u8("Ф",208,164);  
    u8("Ы",208,171); u8("В",208,146); u8("А",208,144);  
    u8("П",208,159); u8("Р",208,160); u8("О",208,158);  
    u8("Л",208,155); u8("Д",208,148); u8("Ж",208,150);  
    u8("Э",208,173); u8("Я",208,175); u8("Ч",208,167);  
    u8("С",208,161); u8("М",208,156); u8("И",208,152);  
    u8("Т",208,162); u8("Ь",208,172); u8("Б",208,145);  
    u8("Ю",208,174); u8("ё",209,145); u8("Ё",208,129);  
       
    function utf2win ($text)  
    {  
    global $c1,$c2,$w8;  
    $u = false;  
    $temp = "";  
    for($i=0,$len=strlen($text); $i<$len; $i++) {  
      $c = substr($text,$i,1);  
      if ($u) {  
      $c = $w8[$lc.$c];  
      $temp .= isset($c)?$c:"?";  
      $u = false;  
      }  
      else if ($c==$c1 || $c==$c2) {  
      $u = true;  
      $lc = $c;  
      }  
      else  
      $temp .= $c;  
    }  
    return $temp;  
    }

    Это код переводит строку из кодировки UTF-8 в Windows-1251. Его автор явно не о iconv.

    Запостил: vbysnek, 19 Мая 2013

    Комментарии (13) RSS

    • Может, он работает на такой работе, где поощряется творческий подход к делу?
      Ответить
    • Говно в каждой строчке просто, дат только не хватает
      Интересно, что будет с автором если ему показать iconv
      Ответить
    • еще кодировка файла - есть важный момент.
      Ответить
    • этому коду 100500 лет в обед и писался он под третий пых, где в принципе не было ни иконва ни каккой поддержки ютфа - ртфм, бич ;) http://php.net/manual/en/function.convert-cyr-string.php
      Ответить
      • Все равно код - говно. Перевод можно было лучше сделать (короче и возможно даже быстрее).
        Ответить
        • там много разных вариантов - 10 лет назад такой был разброд и шатание по хостерам, что один и тот же код работал далеко не на всех серверах. Изгалялись как могли ;)
          Ответить
          • пыхаперство все равно :)
            Ответить
            • ламер в студии :) запомни - нет никакой разницы, какой использовать язык - для каждых целей он свой.
              Ответить
            • тот гэст - это я. за голову берусь ламерству современных гавнокодеров. 7-4 года назад так не срали.......
              Ответить
              • И трава была зеленее?
                Ответить
              • То ли дело тёплые ламповые простыни на четвёртом пыхе.
                Ответить
                • и не напоминайте - до сих пор ужасаюсь как можно было имплементировать на тройке обьектную модель. сейчас бы повесился и не брался :-D
                  Ответить

    Добавить комментарий