Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Безобразие с кодировками, не работает substr c русскими буквами 
:(
    Опции темы
Finder128
Дата 18.3.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 15.3.2008

Репутация: нет
Всего: нет



Доброго времени суток всем. Вкратце опишу мою проблему. Мне нужно реализовать функцию склонения слов. То есть заменять окончания в словах в соответствии с нормами русского языка. Свои строковые функции я помещаю в файл string.class, который подключается в файле index.php, оттуда идёт вызов функции и результат помещается в соответствующий шаблон. Так вот, локаль я устанавливаю в самой функции, и в отдельно взятом файле всё работает, а при вызове из index работает неправильно. Вместо изьятой через substr буквы пишется ?.  Кодировки в index.php - utf-8, string.class - utf-8.
Код функции: 
Код

function declension ($word){

//if(substr($word,-1)<>"ь"):
  setlocale(LC_ALL, 'ru_RU.UTF-8');
  echo "word $word <br>";
$last_symbol=substr($word,-1);
echo "last $last_symbol <br>";

switch($last_symbol){
case "а": $ending="ы";
break;
case "я": $ending="и";
break;
case ($last_symbol=="у" or $last_symbol=="о" or $last_symbol=="э"): $ending="";
break;
default:
$ending="а";
}
if($ending) $buffer=substr($word,0,-1);$word=$buffer.$ending;

return $word;

}

PM MAIL   Вверх
bars80080
Дата 18.3.2011, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



для многобайтовых надо применять функции mb_* , то есть mb_substr(), конечно при условии, что модуль mb_string подключен
либо прописать в конфиге севера или .htaccess строку 

mbstring.func_overload=2


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.