За последние 24 часа нас посетили 68524 программиста и 10346 роботов. Сейчас ищут 2780 программистов ...

При выводе выбранного из слова символа, получаю кракозябру

Тема в разделе "PHP для новичков", создана пользователем mischael, 6 ноя 2016.

  1. mischael

    mischael Новичок

    С нами с:
    6 ноя 2016
    Сообщения:
    3
    Симпатии:
    1
    Столкнулся с проблемой, что при выводе выбранного из слова, написанного кириллицей, символа, получаю кракозябру или ???, хотя вывод самого слова происходит без проблем. Латинскими символами нормально выводит. Пробовал погуглить, решения проблемы не нашел. Еще var_dump выдает такую же кракозябру. Делаю все на локальном сервере через Denver.
    PHP:
    1. <p>
    2.         <?php $text0 = 'Привет';
    3.         echo $text0;
    4.         ?>
    5.     </p>
    6.     <p>
    7.         <?php
    8.         $lit = $text0[1];
    9.         echo $lit;
    10.         ?>
    11.     </p>
    12.     <p>
    13.         <?php
    14.         var_dump($lit);
    15.         ?>
    16.     </p>
     

    Вложения:

    • krakozyabra.jpg
      krakozyabra.jpg
      Размер файла:
      18,1 КБ
      Просмотров:
      3
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Если не вдаваться в подробности, то латинские символы занимают один байт, а кириллические - два. В вашем примере, грубо говоря, вы получаете "половину" буквы.
    Более подробная информация
     
    mischael и denis01 нравится это.
  3. mischael

    mischael Новичок

    С нами с:
    6 ноя 2016
    Сообщения:
    3
    Симпатии:
    1
    Попробовал iconv, потом mb_convert_encoding, безрезультатно. На одном форуме похожую проблему решили поправив переменные окружения апача, но там в подробности не вдавались, а я не уверен, что мне стоит туда лесть.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    mischael нравится это.
  5. Васяня

    Васяня Активный пользователь

    С нами с:
    2 окт 2016
    Сообщения:
    238
    Симпатии:
    32
    Адрес:
    Россия, Приморский край, г. Находка.
    default_charset в php.ini надо править, ставь utf-8.
    --- Добавлено ---
    Проверь кодировку php файла
     
    denis01 нравится это.
  6. mischael

    mischael Новичок

    С нами с:
    6 ноя 2016
    Сообщения:
    3
    Симпатии:
    1
    denis01, mb_substr помогла! Спасибо всем за помощь и науку!
     
    denis01 нравится это.