Как выдрать данные, начинающиеся с русских букв?

Anton108

Новичок
Как выдрать данные, начинающиеся с русских букв?

Подскажите пожалуйста, у меня проблема. Использую PHP + MySQL 4.0.17
Мне нужно из таблицы "tgroups" узнать есть ли поля "namegroup", начинающиеся с Русских букв.
Я решил сделать так же, как сделал с английскими буквами. С англ. работало, а с русскими не работает! Вот листинг этого куска:
PHP:
$letter="А";  $flag=0; 
while ($letter!="Я")
   {
   $result=mysql_query("SELECT * FROM tgroups");
   while ($a_row=mysql_fetch_object($result))
      if ($a_row->namegroup[0]==$letter) $flag=1;
   $letter++;
   }
Подумал, что можно через ASCII коды (код "А" - 192, "Я" - 223), но тоже не выходит.
Есть команда "printf", с ее помощью можно вывести букву через ASCII код, но можно вывести только на экран, тоже не подходит (printf ("%c",$letter);)

PHP:
$letter=192; $flag=0;                 
while ($letter<=223)
   {
   $result=mysql_query("SELECT * FROM tgroups");
   while ($a_row=mysql_fetch_object($result))
     if ($a_row->namegroup[0]==(string)$letter) $flag=1;
   $letter++;
   }
Как мне быть?

И еще один вопрос, у меня LIKE неверно работает, писал пример, где нужно вывести все "namegroup", начинающиеся с англ. "A". Пишу "SELECT * FROM tgroups WHERE namegroup LIKE 'A%'"
Так он мне выводит, из англ. все начинающиеся на англ. "A", но также выводит начинающиеся на различные русские буквы, например "Г,Л...", а "Ж" не выводил.
В чем глюк?
 

Anton108

Новичок
Проблему частично решил - используя sprintf. Вот листинг:
PHP:
$letter=192; $flag=0;                 
while ($letter<=223)
   {
   $result=mysql_query("SELECT * FROM tgroups");
   $aaa=sprintf("%c",$letter); 
   while ($a_row=mysql_fetch_object($result))
     if ($a_row->namegroup[0]==$aaa) $flag=1;
   $letter++;
   }
Правда немного некрасиво, с программисткой точки зрения... Может кто знает другой путь решения проблемы? Предлагайте!

LIKE так и не работает корректно :(

-~{}~ 17.12.04 13:18:

Originally posted by -=KPOT=-
может локаль не установлена
setlocale ( LC_CTYPE, 'ru_RU.CP1251');
Это должно было на LIKE отобразиться? Попробовал, не помогло.
 

Anton108

Новичок
Фанат, Спасибо!
Сейчас сохраню FAQ себе на винт и больше не буду таких задавать дурацких вопросов!
 
Сверху