регулярные выражения

icarus

Guest
регулярные выражения

Привет всем !

Делаю проверку данных введенных пользователем, условие такое :
можно вводить латинские буквы, русские и цифры

$NameChannel_type = $_POST['NameChannel_type'];
if(!preg_match('~^[a-zA-Zа-яА-Я0-9]+$~', $NameChannel_type))
{
print "<br><b><small>Значение 'Название канала' задано в неправильном формате !</b></small><br>";
print "<b><small>В этом поле должны вводиться только буквенные и(или) числовые значения...</b></small>";
exit;
}

на латиницу и цифры, все нормально
русские буквы игнорирует.
Что не так ?
 

icarus

Guest
Думаешь в этом проблема ? Все тестируется под Линуксом, клиенты Виндовосные. Где можно почитать про такие вещи ?
 

crocodile2u

http://vbolshov.org.ru
Видимо, я ошибся.
Сейчас попробовал повторить эту ситуацию - setlocale() не влияет (собсно, ага, в мануале перечислены функции, на которые она влияет)

Зато - если кодировка, в которой написан скрипт, windows-1251, и данные приходят в этой кодировке, то все ок.

Затем я сохранил скрипт с кодировкой KOI8-R, а кодировку страницы оставил windows-1251. Пришли данные с кирилицей, совпадения нет.

Вывод - проверь соответствие кодировки скрипта и кодировки, в которой приходят данные.
 
Сверху