За последние 24 часа нас посетили 18904 программиста и 1616 роботов. Сейчас ищут 970 программистов ...

Как внутри PHP увидеть UTF8 русские буквы.

Тема в разделе "PHP для новичков", создана пользователем sgretsch, 8 апр 2009.

  1. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Вот такой вид в дебагере. А мне надо ещё проверить правильность ввода текста и тп.

    Причем в mySQL пишутся нормально по русски в UTF.

    Посоветуйте что-нибудь?

    [​IMG]
     
  2. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    кодировку в дебагере сменить?
     
  3. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Таки причем тут дебаггер. У меня эти буквы прверку не проходят, например:

    ereg('[^а-яА-я]',$_POST['username'])
     
  4. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    ты их откуда получил то таких корявых, признавайся? небось аяксовые асинхронщины юзал? )
     
  5. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    /u
    Модификатор строк для юникода
     
  6. 1. ereg не работает с утф.
    2. он устарел, его поддержка с выходом пхп 5.3 заканчивается.
     
  7. kas1e, хочешь бан?
     
  8. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Нет, это из формы передается. Ajax' а там нет.
     
  9. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    зачем? :)
     
  10. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Поясните как этим пользоваться. Я не совсем специалист в php.
     
  11. kostyl

    kostyl Guest

    флоппик
    я тоже заметил, что он набивает себе цифру в граве "Сообщения:" просто так....
     
  12. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Подскажите что взять на замену. Похоже, как я понял буквы там нормальные, просто дебаггер неправильно отображает.
    Следовательно надо эту функцию поменять на что-то...?
     
  13. sgretsch
    Вообще, есть mb_ereg - но для его работы должно стоять расширение mbstring, да и возможно его тоже уберут в php 5.3
    желательно перейти на PCRE, это функции начинающиеся на preg_*, добавляя к шаблону модификатор /u

    Читать: http://php.net/pcre
     
  14. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Спасибо, премного благодарен всем, особенно Флоппику :)
     
  15. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Sorry, не знал.
     
  16. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    давно пора
     
  17. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Ну теперь другие проблемы появились. После замены на Preg_match

    такой код: if(preg_match("/[^а-яa-z]+/ui",$_POST['username'])) {...}

    Выдает ошибку:

    Warning: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset 3
     
  18. sgretsch

    sgretsch Активный пользователь

    С нами с:
    8 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    что делать братцы?
     
  19. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    значит это были неправильные пчёлы, и утф у них неправильный
     
  20. минимально нерабочий код предоставь в пару строк.
     
  21. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Кодировка данных переданных из формы соответствует кодировке в которой была отражена страница с той самой формой.
    Убедитесь что это всё же UTF-8.