LINUX.ORG.RU

проблемы с php и setlocale


0

0

Салют!

Есть скрипт на PHP 4.0.5 работающий под linux В начале скрипта устанавливаю локаль setlocale("LC_ALL", "ru_RU.KOI8-R");

потом обрабатываю символы русские строкой $out_text = preg_replace("/(\w)/ie", "replace('\\1')", $in_text);

Так вот проблема в том что в функцию replace не попадают символы "Ч" and "ч". Другими словами PHP думает что это не буковки а что-то другое. Видимо дело в локале? Что посоветуете сделать? Система redhat 7.0

anonymous

Хм, странно...Но точно setlocale тут не поможет (только помешает). Лично я юзаю eregi_replace - попробуй. Никогда таких проблем небыло. Попробуй взять php с rpm (у меня недавно стояла это версия шляпы - на Мандрейк8 сменил - и там проблем с ПХП небыло). Можешь кинуть скрипт на stopakevich@mail.ru - проверю на MDK8, FBSD4.1 и Win.

anonymous
()

Моя ошибка! У меня две функции parse для обработки шаблона и un для преобразования последовательности русских букв в unicode. Так вот setlocale делал в parse(), а кое-где напрямую вызывал un() поставил setlocale в un() и все ОК То есть и без локали PHP почти все буквы понимал кроме Чч

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.