![]() |
Показаны 21 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- setlocale (http://netadmin.ws/forum/showthread.php?threadid=1564)
setlocale
Как вызвать субж, чтоб работал для всего скрипта?
На перловке с этим проблем нет, а вот на ПХП, ну как не крутил, не выходит глиняный цветок 
ХЕЛП!!!!
__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg
Наверное в начале прописать
setlocale (LC_ALL, 'ru_RU');
?????
devels
Ð_то ясный перец, но в том то и дело, что так и не пашет, по какой-то причине 
Голову ломаю уже какие сутки 
__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg
Да вот тупо взял и скопировал из мануала
<?php
setlocale (LC_ALL, '');
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));
?>
Выход : пятница Декабрь 1978
Только там приписочка -- если типа хотите чтобы брались настройки пользователя, не указывайте кодировки в переменных функции setlocale.
If locale is the empty string "", the locale names will be set from the values of environment variables with the same names as the above categories, or from "LANG".
Принудительно можно указывать
<?php
setlocale (LC_ALL, 'RU');
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));
?>
devels
Хех, незнаю, но у меня почему-то не катит. По манам и делал эту фигню...
Мне просто поиск нужно сделать, но чтоб еще и кирилицу понимал... Так вот и маюсь 
__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg
Поиск в базе или поиск в файлах??
Тут может быть проблема с соответствием кодировок локали, webсервера и локали базы данных. Или вариант: кодировок локали, webсервера и локали файла/shell`а
да и так и так пытался..
мне бы eregi приучить к тому, чтоб он знал, что есть кирилическая буква маленькая, а есть и большая....
__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg
PHP Manual:
eregi -- case insensitive regular expression match
Так используй ereg
devels
так ты сам написал и сам советуешь не то...
мне нужно чтоб не зависимо от регистра искало 
к примеру
если при ereg я буду искать букву "А", то он будет искать только "А", а при eregi он ищет (в англ. тока раскладке) и "А" и "а".
Вот в чем фитча то.
__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg
сколько не пытался я использовать эту локаль блин, реально работает только у меня на машине, то ли имена этих локалей разные то ли не знаю...
__________________
Всегда есть решение.
setlocale это системная фича, есть системы на которых это не поддерживается, в принципе этот вопрос хостеру лучше задать, если есть shell можно по-пробовать это:
locale -a
Даст список доступных в системе локале, у меня например есть такие:
ru_RU
ru_RU.CP1251
ru_RU.KOI8R
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8
причет CP1251я делал сам
подрбности
man locale
man localedef
мне к примеру выдает
ru_RU
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.utf8
думаю russian & ru_RU под 1251.
__________________
Всегда есть решение.
Скорее это koi8
quote:
да и так и так пытался..
мне бы eregi приучить к тому, чтоб он знал, что есть кирилическая буква маленькая, а есть и большая....
не понятно почему так происходит, 1251 на много популярнее теперь чем кой.
__________________
Всегда есть решение.
quote:
polo
популярнее
оно та так, но вот линукс в основном используется для интернет серверверов, а я считаю что использовать кой8 на сайтах это извращенство.
__________________
Всегда есть решение.
Мне кажется ты судишь как пользователь windows, да и кто мешает поставить локаль на сервер?
На более или менее нормальных хостерских серваках стоит нужная локаль, я вот как-то раз ставил арабский linux.....
quote:
не понятно почему так происходит, 1251 на много популярнее теперь чем кой
Нашел больную тему!
У меня на хосте есть только:
ru_RU
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.utf8
Как и говорили в предыдущих сообщениях. Такой вопрос: можно ли где качнуть апдейт какой-то или что-то в этом роде, чтобы добавить 1251? Может кто знает?
__________________
WebHostingForum.ru
Проблема решена!
Итак, если у вас есть доступ к серверу вы делаете:
# locale -a | grep ru
Если у вас там будет ru_RU.CP1251 то делать нечего, открываете пиво и наслаждаетесь жизнью, если же нет этой кодировки то тогда:
# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251
Потом идите в /usr/lib/share или /usr/lib/locale у кого как... Если там появился ru_RU.cp1251 переименуйте его в ru_RU.CP1251..
Все!
Теперь снова проверьте есть ли он у Вас в системе!
# locale -a | grep ru
Спасибо за внимание 
__________________
WebHostingForum.ru
| Формат времени GMT. Текущее время 00:21. | Показаны 21 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.