Preg_replace и кодировка Utf-8

Тема в разделе "PHP программирование", создана пользователем Sergvic, 16 июн 2007.

  1. Sergvic

    Sergvic Гость

    Есть русский текст в кодировке UTF-8. После применения к нему функции preg_replace тест становится не читабельным, т.е. появляются в броузере знаки вопроса.
    Использовал для проверки такой скрипт
    Код (Text):
    <?
    setlocale("LC_ALL","ru_RU");
    $string="Ваш выбор";
    echo $string;
    $string = strtolower(preg_replace('/\s+/','_',$string));
    echo $string;
    ?>
     
  2. MajestiC

    MajestiC Гость

    http://www.php.net/manual/ru/reference.pcr...n.modifiers.php

    В итоге нужно заменить
    $string = strtolower(preg_replace('/\s+/','_',$string));
    на
    $string = strtolower(preg_replace('/\s+/u','_',$string));
     
  3. Sergvic

    Sergvic Гость

    Что-то не помогло. Тоже самое.
     
  4. _serg_

    _serg_ Гость

    а в хттп-заголовке какая кодировка прописана?
     
  5. Sergvic

    Sergvic Гость

    Стои utf-8
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
  6. korvin0

    korvin0 Гость

    Какая у тебя версия PHP?

    Только с версии 5.0.5 PCRE обновили до 5.0 (http://www.php.net/ChangeLog-5.php#5.0.5) => До этого не работало как надо UTF-8 в pcre.

    Если iconv подключен, можешь конвертить в другую кодировку и там preg_replace'ить:
    <?
    $string="Ваш выбор";
    echo $string;
    $string = strtolower(preg_replace('/\s+/','_',iconv('UTF-8','cp1251',$string)));
    $string = iconv('cp1251','UTF-8',$string);
    echo $string;
    ?>
     
  7. Sergvic

    Sergvic Гость

    Вот спасибо. Через iconv работает.
     
Загрузка...
Похожие Темы - Preg_replace кодировка Utf
  1. slavon-x86
    Ответов:
    2
    Просмотров:
    2.906
  2. NickProstoNick
    Ответов:
    6
    Просмотров:
    151
  3. R4z0R
    Ответов:
    17
    Просмотров:
    1.495
  4. PaKo
    Ответов:
    1
    Просмотров:
    1.076
  5. AndreyS
    Ответов:
    7
    Просмотров:
    3.283

Поделиться этой страницей