"PHP" / Говнокод #12134 Ссылка на оригинал

0

  1. 1
C:\>php -r "echo mb_convert_encoding('хуй', 'cp866', 'windows-1251') . chr(7);"

Запостил: __proto__ __proto__, (Updated )

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

  • Вот так этот код будет не настолько унылым:
    test@test:~$ php -r "echo substr(mb_convert_encoding('хуй __proto__', 'cp866', 'windows-1251'),2);"
    © __proto__
    P.S. Консоль должна работать в цп1251.
    Ответить
  • php -r "echo mb_convert_encoding('его', 'cp866', 'cp866') . chr(7);"
    Так смешнее. Или даже так:
    php -r "echo mb_convert_encoding('его', 'cp1251', 'cp1251') . chr(7);"
    Одного его.
    Ответить
      • В том, что Винда напечатает слово «хую». То, что в кавычках, интерпретируется как cp1251, а на экран выводится как cp866. У винконсоли неявное приведение кодировки, которое вносит путаницу.
        Ответить
        • Даже так:
          C:\>php -r "echo 'его';"
          хую
          Делалось это для совместимости с досовскими программами. На самом деле для совместимости с программистами, набирающими программы в виндовом Блокноте.
          Ответить
          • Ясно. Про то что консоль работает в 866 я знал, а вот чего получится при преобразовании проверить было не на чем, т.к. сейчас с ведроида.
            Ответить
            • На самом деле у винконсоли есть и уникодовский вариант API:
              http://msdn.microsoft.com/en-us/library/cc194797.aspx

              Новый FAR даже греческие буквы и расширенную латиницу на одной странице с русскими выводит. В качестве восьмибитной же кодировки в русской Винде по умолчанию используется 866, чтобы старые программы смогли рисовать рамки.
              Ответить
              • /tmp/8$ mkdir 試験
                /tmp/8$ cd 試験
                /tmp/8/試験$
                А вот так она умеет? 😉

                > В качестве восьмибитной же кодировки в русской Винде по умолчанию используется 866, чтобы старые программы смогли рисовать рамки.
                И вообще что-то выводить. Угу. Причем стандартные dir и.т.п. не видят кодировку, которую выставляет chcp, и в итоге, если консоль переключить на другую кодировку, выводят хлам.
                Ответить
              • > чтобы старые программы смогли рисовать рамки
                +--------------------+
                |       Borders      |   
                +--------------------+
                | Just | Like | So?  |
                +------+------+------+
                Ответить
                • +-----------------------------------------+
                  |       Kill yourself?                    |   
                  +-----------------------------------------+
                  | Yes | No | Remind me later              |
                  +-----------------------------------------+

                  + да
                  - нет
                  не изменять рейтинг - напомнить позже
                  Ответить
                  • Ухты. Минимум 2 человека, хотят, чтобы я сохранил себе жизнь. Мне лестно. Буду жить и ради них тоже.
                    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8