Корректное восприятие кириллицы и некоторых PHP функций.

jollyck

Guest
Корректное восприятие кириллицы и некоторых PHP функций.

Встретился с такого рода проблемами:
1. Мой хостер почему-то не поддерживает функции strtolower() и strtoupper() "в лоб", т.е. если есть $string="ФыВа", то она такой и останется после применения этих ф-й. На мой вопрос разъяснить ситуацию был дан ответ, что сначала строку надо переконвертить во что-то, потом ещё во что-то, в общем я не понял. Объясните как выйти из подобной ситуации.

2. Не могу отсортировать ассоцыативный массив по значениям такого рода(есть буквы и цыфры):

$ar['first'] = '2 значение';
$ar['second'] = '1 значение';
$ar['therd'] = '3 значение';

Как получить такое
$ar['second'] = '1 значение';
$ar['first'] = '2 значение';
$ar['therd'] = '3 значение';
 

ksnk

прохожий
Возможно, поможет HELP почитать по функции setlocale(). Видимо твой хостер считает, что у тебя код в кодировке koi-8, к примеру и преобразования работают в этой кодировке...

Еще может несколько развлечь функция convert_cyr_string, если setlocale работать так и не захочет :).
 

jollyck

Guest
Поставил в заголовке скрипта
setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
но ни strtolower() не работает так как надо, ни массив не сортируется.
 

jollyck

Guest
Фанат
Вообще то setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251')) возвращает локаль, я проверял, но вот массивчики не сортируются.
 

ksnk

прохожий
Вообще-то настоящую локаль выводит setlocale(LC_ALL,NULL). но в твоем случае, видимо, лучше пользоваться convert_cyr_string, так как твой хостер не желает правильно воспринимать устанавливаемую тобой локаль...
 
Сверху