Вход • Регистрация

Хелп ми. Русский текст.

  • 16 августа 2012 г.
  • Такая фигня. Пытаюсь распознать части строки. Использую РегЭкспы. С латинскими симворами всё в порядке с кирилицей полный ахтунг.
    В выгрузке прайса клиент отмечает товар буквой 'ш'. Функция
    Код
    preg_match_all("#[шШ]#", $pie, $out);
    выдаёт массив
    Код
    $out[0] = array(0=>"�",1=>"�")

    Вчём прикол, непонимаю. Все файлы в UTF-8.
    • 16 августа 2012 г.
    • В общем, я на такие символы налетал вот в каких случаях. Если изначально файл с русскими символами в кодировке ANSI и в notepad++ тупо сменить кодировку на UTF, появляются такие ромбики. Но если в notepad++ выбрать пункт "Преобразовать в UTF", то все корректно.
      Так что думаю корень тут
      • 16 августа 2012 г.
      • Это понятно - кодировка разная и сохранили когда без преобразования. Я раскопал проблему.
        Внимание ответ:
        В UTF-8 Латинские символы, знаки препинания, математические знаки и прочие знаки, цифры кодируются 1 байтом. Кирилические символы двумя байтами в том числе с ударением.
        По этой причине PHP нужно ткнуть носом. Использовать модификатор "u".
        Код
        preg_match_all("#[шШ]#u", $pie, $out);

        Причём именно так как показано в примере, рассмариваемая строка полностью будет рассматриватся как UTF-8 последовательность. Другие варианты использования этого модификатора не сработали например
        Код
        preg_match_all("#?u[шШ]#", $pie, $out);
        или
        preg_match_all("#(?u)[шШ]#", $pie, $out);

        точно не понял как правильнее - в любом случае.

Новости

  • 17 января
  • В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
  • 18 июня 2024 г.
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля 2024 г.
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.