Алфавит исполнителей

clipof

Новичок
Добрый день знатокам PHP!
У меня есть сайт в utf-8 кодировке.
Установил плагин с отображением Алфавита исполнителей, но он отображает только английский алфавит, а русский никак не хочет , то есть прописываю руские буквы в .tpl файле, а реакции ноль.
Вот код .php файла
PHP:
$page = $_GET['page'];
 $meta_title = _SITENAME." - ".$lang['artist'];
 $meta_description = "";
 $list_cats = list_categories(0, '');
 if(!isset($_GET['letter']) || mb_strlen($_GET['letter']) != 1 || !ctype_alnum($_GET['letter'])){
         //Assume we want to show anything non a-z
         $criteria = " REGEXP '^[0-9]'";
 }else{
         //We have a valid input letter
         $criteria = " LIKE '".secure_sql($_GET['letter'])."%'";
 }
 //Check if we use SEO
 if($use_seo == true && _SEOMOD == 1){
         $pageurl = 'artists/';
 }else{
         $pageurl = 'artists.php';
 }
 $query = 'SELECT artist,count(*) FROM pm_videos WHERE artist '.$criteria.' GROUP BY artist';
 $res = mysql_query($query);
 $rows = mysql_num_rows($res);
 if($rows > 0){
         $max = ceil($rows/3);
         $i=0;
         $out = "<div style='float:left;width:33%;'>";
         while(list($artist,$numvids) = mysql_fetch_row($res)){
                 if($use_seo == true && _SEOMOD == 1){
                         $out.= '<a href="'._URL.'/artist/'.urlencode($artist).'/">'.$artist.'  <img src="'._URL.'/images/go.gif" /></a><br />';
                 }else{
                         $out.= '<a href="'._URL.'/artist.php?artist='.urlencode($artist).'">'.$artist.'  <img src="'._URL.'/images/go.gif" /></a><br />';
                 }
                 if(++$i >= $max){ $out.="</div><div style='float:left;width:33%;'>"; $i=0; }
         }
         $out.="</div>";
 }else{
        
         $out = 'Sorry, no artists were found with this letter';
 }
А это кусочек .tpl файла
PHP:
<a href="{$smarty.const._URL}/{$pageurl}?letter=z" rel="nofollow">Z</a>
 <a href="{$smarty.const._URL}/{$pageurl}" rel="nofollow">№</a>
 <a href="{$smarty.const._URL}/{$pageurl}?letter=а" rel="nofollow">А</a>
Может посоветуете где смотреть, чтоб вытягивал исполнителей на русском алфавите.
Я так понимаю что идет запрос к базе, но не могу понять почему не видит русского алфавита.

С этим я розобрался кодом
PHP:
$criteria = " REGEXP '^[0-9]'"
выводит начальную страницу при нажатии на "№", тоесть группирует по цифрам
Может быть загвоздка в этой строке
PHP:
$criteria = " LIKE '".secure_sql($_GET['letter'])."%'";
Ведь этот критерий вставляется в запрос к базе.
Ну эт мои размышления, я если честно не сильно то и силен пхп :)

Вот Пример

За ранее благодарен.
 

С.

Продвинутый новичок
Для начала неплохо бы убедиться, что кодировка поступающих букв действительно совпадает с теми, что находятся в базе данных.
 

clipof

Новичок
тема решена, просьба модератора закрыть или удалить пост.

За ранее благодарен.
 

clipof

Новичок
Извените за мое невежество.
проблема была тут
Нужно было заменить строчку
PHP:
if(!isset($_GET['letter']) || mb_strlen($_GET['letter']) != 1 || !ctype_alnum($_GET['letter']))
На эту
PHP:
if(!isset($_GET['letter']) || !preg_match('/^[a-zA-Z0-9а-яА-Я]{1}$/u', $_GET['letter']))
И сохранить файл в UTF-8
 
Сверху