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

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

  • 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);

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

Новости

  • Вчера, 09:05
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.