Forum Webscript.Ru

Программирование => PHP => Тема начата: CL2004 от 29 Октября 2004, 14:04:51

Название: strtoupper - проблемы
Отправлено: CL2004 от 29 Октября 2004, 14:04:51
В цикле я из базы выбираю записи($rub_m)  и вывожу таким образом:


В локальной версии все нормально работает, а в интернете пишет маленькими буквами. Почему?
Название: strtoupper - проблемы
Отправлено: Меняздесьдавнонет от 29 Октября 2004, 14:19:17
потому, что русский язык не является "родным" для системы.
[p]setlocale[/p]
или, лично я бы на твоем месте написал собственную функцию перекодировки, в одну строчку.
Название: strtoupper - проблемы
Отправлено: CL2004 от 29 Октября 2004, 14:47:57
Что-то прочитал и ни фигша не понял. Можешь с примером обьяснить по setlocale.
Или может быть обойтись функцией типа этого:
function  up($str)
{
for($i=0; $i<=strlen($str); $i++)
  {
    switch $str[$i]
   {
     case "a":
       $str[$i]=\'A\';
       break;      
     case "b":
       $str[$i]=\'B\';
       break;
     case "E":
       $str[$i]=\'E\';
       break;
............
   }
  }   
return($str);   
}
Или можна еще как-то?
Название: strtoupper - проблемы
Отправлено: Меняздесьдавнонет от 29 Октября 2004, 14:50:33
http://php.spb.ru/php/tar.html
если и этого не поймешь, то больше ничем помочь не могу.
Цитировать
CL2004:
Или может быть обойтись функцией типа этого:
function up($str)

ты всерьез собрался писать такую функцию?
Я же сказал - функция нужна из одной строчки.
[p]strtr[/p]
Название: strtoupper - проблемы
Отправлено: CLiI{er от 04 Ноября 2004, 02:30:15
Цитировать
CL2004:
case "a":
$str[$i]=\'A\';
break;

:-) Это материал для thephpwtf.com Там как раз недавно была тема про преобразование строки и про strtr().
Название: strtoupper - проблемы
Отправлено: mymind от 05 Ноября 2004, 12:32:11
НАсколько я помню есть такая штука
$tr=strtr("АБВГДЕЖЗИЙКЛМНОПРСТУфХЦЧШЩЪЫЬЭЮЯ",
"абвгдежзийклмнопрстуфхцчшщъыьэюя",$tr);