Все игры
Запись
Это спам

Функция php ucwords() работает только на локалхосте


Написать комментарий


Олег Смирнов      27-02-2011 00:08 (ссылка)
Re: Функция php ucwords() работает только на локалхосте
Как именно не работает? Ошибка выскакивает, что обращение к несуществующей функции? Или просто ничего не происходит? Просто эта функция по идее не зависит от всяких там подключаемых модулей и должна работать всегда, начиная с php4. Врядли на сервере что-то ещё более старое, чем php4. Скорее всего дело в кодировке - на сервере видимо используется кодировка utf-8, а эта функция с ней не работает. Ей можно работать со строками, например, в кодировке windows-1251.
Вот вариант для utf-8 (это если установлен mbstring):

Anton Greb      09-03-2011 21:03 (ссылка)
Re: Функция php ucwords() работает только на локалхосте
Цитирую стороннего разраба:
"Изначально, ucwords правильно обрабатывает символы в кодировке UTF-8, но если брать данные из базы, с неправильно выставленной локалью (что встречается в большинстве CMS), то при обработке слова этой функцией, вместо заглавной буквы мы увидим знак вопроса, либо ещё что нибудь."

Разберем проблему:
1) на localhost всё отлично
2) на сервере хостера функция ucwords() есть, априори
3) ucwords() с utf-8 работает

Решение:
Выставим локаль setlocale(LC_ALL, 'ru_RU.UTF-8'); *

p.s.: Если итог не обрадует, стучите в почту, разберемся
*после заголовка header('Content-type: text/html; charset="utf-8"'); или при обращении к базе

Написать комментарий