повышение потенции
нашёл постельное белье отличное
  • 200824 Nov

    Strtoupper или strtolower не работает с русскими символами? При перезде с одного хостинга на другой очень часто такое случается! Не Вы первые с этой проблемой столкнулись!

    ВАРИАНТ №1
    не самый изящный, зато эффективный, работа через строковые функции


    function toupper($co) {
    $co = strtr($co, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
     "АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
    return strtoupper($co);
    }

    function tolower($co) {
    $co = strtr($co, "АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ",
    "абвгдеёжзийклмнорпстуфхцчшщъьыэюя");
    return strtolower($co);
    }

    echo toUpper("блаБла");
    echo toLoper("бЛАБлА");


    Результат:


    БЛАБЛА
    блабла

    ВАРИАНТ №2
    Этот вариант не всегда "проскакивает" , зато если у Вас используется общий файл (config.php, function.php и т.д.) и все "проскочило" - то одна строка в файле и все работает. Задача прописать это в САМОМ НАЧАЛЕ СКРИПТА и оставить все остальное как есть


    setlocale(LC_ALL, 'ru_RU.CP1251');

    ВАРИАНТ №3
    Идеально подойдет для мультибайтных кодировок(UTF-8,UTF-16) или когда вариант №2 не проскакивает а вариант №1 совершенно не нравится :)


    echo mb_strtoupper("бОльшоЙ ТексТ"); 
    echo mb_strtolower("маЛенький текст");

    Результат:


    БОЛЬШОЙ ТЕКСТ
    маленький текст

  • Комментарии

    • 1.
      Dave Stewart пишет: Comment » 20 Мар 09 в 14:18

      function toupper($co) {
      $content = strtr($co, “абвгдеёжзийклмнорпстуфхцчшщъьыэюя”,
      “АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ”);
      return strtoupper($co);
      }

      ретурн то левый возвращаешь

    • 2.
      Zhogov пишет: Comment » 10 Авг 09 в 23:05

      Большое спасибо за дельный комментарий!
      Статью полностью переработал и расписал!

    • 3.
      Lukin Nike пишет: Comment » 12 Янв в 21:35

      Совсем не понятно зачем переписывать функцию strtoupper(); и при возвращении значения return strtoupper($co); ее использовать снова - ведь она же по определению у нас не работает!!!???

    • 4.
      Novoster пишет: Comment » 30 Янв в 22:35

      Хороший вариант автор предложил для UTF-8.
      Правда не полный, но все же хороший.
      Итак, из двух сайтов собрал по крупицам строки:

      echo mb_internal_encoding('UTF-8');
      echo ("");
      echo mb_strtoupper("бОльшоЙ ТексТ");
      echo ("");
      echo mb_strtolower("МАленЬкИЙ ТексТ");

      При этом
      echo mb_internal_encoding('UTF-8');
      выдает 1. Думаю, чсто если не установится, то будет 0.
      Само собой, что можно прописать
      mb_internal_encoding('UTF-8');
      без echo.

  • Оставить комментарий

    (не публикуется)

В действии | Исходный код
  • UTF Windows Конвертер
  • СВЯЗЬ: ICQ: 4316764