Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mb_strtolower() mb_strtoupper()
 
 автор: Николай2357   (05.03.2009 в 22:23)   письмо автору
 
 

Здравствуйте.
Вот ни как не могу совладать с этими функциями. Упорно не работают с кирилицей под utf-8. Локаль всякая не помогает. Работает только такой вариант, но он кажется не совсем оптиамльным.
<?
$tag 
="АаБбВвГгДд";
$tag iconv("UTF-8""CP1251"$tag);
$tag mb_strtolower($tag);
$tag iconv("CP1251""UTF-8",$tag);
echo 
$tag;
Есть ли другие способы?

  Ответить  
 
 автор: Dobrynin   (06.03.2009 в 12:35)   письмо автору
 
   для: Николай2357   (05.03.2009 в 22:23)
 

mb_strtolower() и mb_strtoupper() - это "извращённый" вариант strtolower() и strtoupper() которые замечательно работают под юникодом.

изначально были только strtolower() и strtoupper(), только потом появились эти префиксы mb_ для CP1251

  Ответить  
 
 автор: Николай2357   (06.03.2009 в 13:20)   письмо автору
 
   для: Dobrynin   (06.03.2009 в 12:35)
 

Я знаю, что есть (а не были) strtolower() и strtoupper(). Но не работают они под utf-8. Вот в чем беда. А mb_ это вовсе не префикс. Это совсем другая библиотека, специально разработанная для многобайтных кодировок. Но вот именно эти две функции с кирилицей работать не желают. Впринципе то, что у меня написано работает, но текст прогоняется довольно большой и как то неуютно конвертировать его туда-обратно...

  Ответить  
 
 автор: Drago   (06.03.2009 в 13:42)   письмо автору
 
   для: Николай2357   (06.03.2009 в 13:20)
 

Укажите для функции явно, с какой кодировкой она работает.

<?
$tag 
="АаБбВвГгДд";
$tag mb_strtolower($tag'utf-8');
echo 
$tag;

  Ответить  
 
 автор: Николай2357   (06.03.2009 в 13:56)   письмо автору
 
   для: Drago   (06.03.2009 в 13:42)
 

Гениально. Я чуствовал, что все должно быть очень просто. Огромное спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования