Русский апач и сопоставление букв

hussar

In code we trust!
Русский апач и сопоставление букв

Всем доброго времени суток!
Неожиданно на сервере возникла проблема, на локальной машине все работает на ура. Проблема в следующем - стоит задача брать первую букву из абзаца и заменять ее на графическое изображение такой же буквы - код получился следующий:
PHP:
$letter=strtolower($str{0}); 
if ($letter=="а") 
{ 	
$img="<img style=\"float: left\" hspace=\"5\"  valign=\"top\" src=\"pic/e/01.gif\">";	 
}
...
На локальной машине код работает, заливаю на сервер буквицы не выводятся, если добавляю строку в код:
PHP:
$letter=convert_cyr_string($letter, 'k', 'w');
На сервере начинают сопоставляться русские буквы и картинки, но криво: д=д, т=р, н=м. Никакой закономерности не получается :(
Подскажите плз в чем может быть проблема.
Конфигурация сервера:
Русский Apache 1.3.28, MySQL 4.0.14, PHP 4.3.4
Кодировка базы данных cp1251, так что проблема не в этом.
 

Линк

Guest
во первых, русский апаче надо убивать
уже лет пять, как он никому не нужен
во вторых, работает ли у тебя локаль?
сделай
echo strtolower("Я");
если не сработает -[m]setlocale[/m]

да! и что такое "$str{0}" ?
 

hussar

In code we trust!
$str{0} - так мы получаем первую букву строки. У меня на локальном компе все работает!
Локаль я выставлял, таким образом:
setlocale(LC_ALL,'ru_RU.CP1251');
результат такой же как я описал :(
Апач на сервере хостера убить не могу :)
 

Линк

Guest
какой у хостера apache и php?
и есть ли у него такая локаль?
 

ys

отодвинутый новичок
Можно ли у хостера выполнить:

locale -a | grep ru

и глянуть на результат?
 

Линк

Guest
сори
понял

а локаль то есть? сделайте, как сказал ys
 

hussar

In code we trust!
Пока не могу, сейчас подключаю доступ через SSH :(

-~{}~ 25.02.04 16:39:

Обещали подключить только через 24 часа.
А можно что-то сделать с помощью редактирования httpd.conf?
 

Линк

Guest
каша в голове:(
смотри
есть локаль
она ставится в ОС
php просто юзает ее, и узнает из нее порядок русских букв и соответствия большая-малая.
apache вообще ни к селу ни к городу

а ты спроси у хостинга: "есть у вас такая-то локаль?"
 

ys

отодвинутый новичок
hussar

Пока не могу, сейчас подключаю доступ через SSH
Обещали подключить только через 24 часа.
Это в эстонии чтоль хостинг? Почему 24 часа?
 

hussar

In code we trust!
Хостинг в Москве :( Почему 24 часа сам не знаю, думаю потому что и русский апач стоит!!!
Пытаюсь дозвониться до хостера, но без результатов!!! Это - засада :(
Так что видимо с локалью придется ждать пока мне подрубят доступ к SSH
 

Линк

Guest
думаю потому что и русский апач стоит!!!
Тоесть ты считаешь, что версия апаче накладывает кое-какие ограничения на работу с SSH?

А вообще ты прав
Если у них стоит рашн апаче, значит они.. хм.. не шибко то грамотные ребята.. вот и делают все медленно)
 

ys

отодвинутый новичок
Короче, залей и выполни php :

<?php
system("locale -a");
?>

Если с полным путем, можно попробовать:
system("/usr/bin/locale -a");
или
system("/usr/local/bin/locale -a");
 

ys

отодвинутый новичок
Линк

Ну тогда на перле написать, он то у них
врядли в safe_mode :)
А хостинг без перла - это нонсенс.
 

Линк

Guest
ничего - это что?
скажи дословно, что ты сделал
 

hussar

In code we trust!
Вот такой код, залил на сервер, и при исполнении он выдает '127' в окно бровзера
PHP:
$test=system("/usr/bin/locale -a", $kkk);
echo $kkk;
 
Сверху