Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 205
от 22.12.2005, 09:27

Администратор:Калашников О.А.
В рассылке:Подписчиков: 208, Экспертов: 34
В номере:Вопросов: 1, Ответов: 3


Вопрос № 31651: У меня такая проблема. Функции strtolower и strtoupper не работают с русскими символами. Вызов функции setlocale (LC_ALL, "ru_RU.CP1251"); не помогает. Править php.ini или другие конфиги хостинга нет возможности. Из-за чего такая проблема и...

Вопрос № 31.651
У меня такая проблема. Функции strtolower и strtoupper не работают с русскими символами. Вызов функции setlocale (LC_ALL, "ru_RU.CP1251"); не помогает. Править php.ini или другие конфиги хостинга нет возможности. Из-за чего такая проблема и можно ли ее решить?
Отправлен: 17.12.2005, 09:24
Вопрос задал: Ecclesiastes (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Ecclesiastes!
Значит, в PHP нет символов русского языка, поэтому и не работает. Можно просто написать свою функцию. Вот например StrToLowerRus() и StrToUpperRus():

<?php
function StrToLowerRus($str)
{
$rus_lower = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
$rus_upper = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
$res = $str;
for ($i = 0; $i < strlen($rus_upper); $i++)
{ $res = str_replace($rus_upper[$i],$rus_lower[$i],$res); }
return $res;
}
function StrToUpperRus($str)
{
$rus_lower = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
$rus_upper = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
$res = $str;
for ($i = 0; $i < strlen($rus_lower); $i++)
{ $res = str_replace($rus_lower[$i],$rus_upper[$i],$res); }
return $res;
}
print StrToLowerRus("Lower: КоМпЬюТеР
");
print StrToUpperRus("Upper: КоМпЬюТеР
");
?>

---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 17.12.2005, 11:06

Отвечает: Дмитрий Иванов
Здравствуйте, Ecclesiastes!

напиши свою собственную функцию, либо доделай мои :)

все в приложении :)

Приложение:

---------
ставя оценку - подумай, может ты не все описал.

Ответ отправил: Дмитрий Иванов (статус: 9-ый класс)
Отправлен: 17.12.2005, 16:40

Отвечает: Константин
Здравствуйте, Ecclesiastes!
Решается просто: setlocale(LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
если не поможет, выполняешь асеревере команду $ locale -a, получаешь список всех локалей, смотришь как называется русская, ставишь ее. все.
Команду locale можно выполнить из консоли несли хостер разрешает что-то такое или из php
system('locale -a');
Ответ отправил: Константин (статус: 2-ой класс)
Отправлен: 18.12.2005, 00:05


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное