PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 17
HRusty Отправлено: 23 Октября, 2014 - 01:41:21 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Перерыл много ДЛЕшных файлов в поисках причины, почему модули ДЛЕ корректно обрабатываются, а мой маленький скрипт нет. В итоге нашел таки в подключаемых языковых файлах, в самом низу такую строчку:

CODE (htmlphp):
скопировать код в буфер обмена
  1. @setlocale(LC_ALL, array("ru_RU.CP1251", "ru_SU.CP1251", "ru_RU.KOI8-r", "ru_RU", "russian", "ru_SU", "ru"));


Следовательно, делаю вывод что без этого сетлокале не обойтись. И на сим данную тему можно закрыть, вопрос можно сказать что решен. Всем спасибо Подмигивание
(Добавление)
Цитата:
Перебираться на новые ЦМС.

Да говорю же, пробовал уже - и не раз. Там все так сложно и мудренно, что даже только для того чтобы поменть лого в шапке, или не дай Бог вывести на странице рандомный материал из базы нужно столько всего изучить и освоить, что потом уже будет проще свою ЦМС написать.

Цитата:
Те ЦМС, которые вроде как развиваются, но при этом не работают с utf8 - это 100% набор говнонаслоений. Подумать страшно, сколько там говна. А потом удивляются, что сервер новый нужен ;) Я, правда, не знаю, что такое ДЛЕ. Что-то олдскульное, видимо, хардкор с поддержкой PHP4? Улыбка

Да нет, дле не такая и плохая ) У нее имеется UTF8 версия, и обновляются они частенько.


Цитата:
Нет, скорее технологии, которые хотят utf. Ну вроде json-а.

Ну я пока не планирую эти технологии на своих сайтах использовать... А когда надумаю, в еденичном варианте допускаю использование iconv - почему нет? )

Цитата:
Вы не те акценты сделали. Надо выделить "меня" и "мне" ;)

Точно! ) Когда писал так и хотел сделать, когда выделял - забыл )

Цитата:
Это не значит, что пробовать все подряд, но utf8 - уже давно не для гиков, а для всех.

Да говорю же, честно, пробовал уже и не раз! )) Одни проблемы у меня с ней. Например привычные для меня модули автотрансляции постов в соц сети - на ней не работают, модули сео автоперелинковки выдают крякозябры. Все шаблоны страниц (а их более 50) нужно переконвертировать в УТФ, иначе крякозябры, про пхп функции я уже писал (вместо привычных - нужно искать/проверять/подбирать) новые и т.д. и т.п. Ну вот и зачем мне такие новшества от которых только головная боль? )

Цитата:
Или же для вас важнее ковыряться в страшном легаси коде.

Чем же он страшен? )) Напротив, открывая его с любого устройства и в любом редакторе, я всегда знаю что я там увижу, и это будут не крякозябры ))

Цитата:
Лично я вижу только один вариант. Он не сложен, на самом деле.

Спасибо за вариант. Правда, огромное! Но так как сам ДЛЕ изначально использует функцию сетлокале, я наверное остановлюсь на этом же варианте - по всей видимости так правильнее и так у всех.

Да и потом, вдруг когда решусь перейти на УТФ, а тут у меня принудительно будет отдаваться локаль кп1251. А так, все стандартно )

Тем более у меня где то пара форумов на ксенфоро были, они на утф работают. Как бы им не поплохело после этих правок.

---

В любом случае, спасибо Вам большое! С удовольствием поставил бы вам плюсик, но не разрешает система - говорит мало еще чего то...
HRusty Отправлено: 23 Октября, 2014 - 00:02:31 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Цитата:
Я думал вы это уже попробовали. Раскоментировать и C заменить на ru_RU.cp1251

Да подумалось что мне это не подойдет, из-за использования связки ПХП + ЦГИ. Сейчас попробовал - не помогло. (сервер перезагружал)
(Добавление)
Цитата:
Если сами пишите - просто знаете, что использовать, и все. Это не проблемы вообще. Достаточно научится, как и во всем IT.

Так зачем делать в старой кодировке, если потом может понадобится страдать с перекодировкой? Это уже посложнее будет.

А если использую готовые продукты (модули, скрипты, плагины) написанные НА и ДЛЯ cp1251? И их авторы либо вообще уже давно забросили свои продукты, либо просто не собираются включать в них поддержку УТФ?

А модули всякие разные, есть и такие которые по своей сути являются чуть ли не самостоятельной ЦМС с кучей своих PHP классов и т.п., у которых изменить принцип работы на другую кодировку не такое и простое занятие.

Да и я вижу картину как раз обратную на рынке, проблемы с кодировкой УТФ у людей в этом плане. Почти все модули для той же дле выпускаются только в/для CP1251, иногда попадаются с поддержкой и того и того, и совсем редко (менее 0,5%) с поддержкой только УТФ8 (привет Пафнутию)))


Цитата:
UTF8 становится стандартом, хотите вы это или нет. И скорее рано, чем поздно - огребете проблемы, которые будете затыкать вот такими вот iconv-ами.

Ну вот какие например? Рассинхрон в кодировке с новыми модулями/плагинами? А что если обходить такие стороной? Или и вовсе все нужное мне заказывать конкретно под себя или даже писать самостоятельно?

Цитата:
ну пусть делает себе человек на этой гребаной кодировке

Вас конкретно чем обидела эта "гребанная" кодировка? Улыбка

Цитата:
пусть ламает себе жизнь и жизнь

Скоро умру? Радость

Цитата:
видимо с 2005 год далее ДЛЕ, джумлы и вордпресса и не вирос

Это смотря в какую сторону ) Написать свою ЦМС, да не смогу, знаний пока маловато. Особой целью и не задавался по сути расти в этом направлении, меня пока и ДЛЕ во всем устраивает. А вот азы: функции пхп, js, jquery, html, css - все что нужно обычному вебмастеру (не программисту) я знаю, и кое что при надобности смогу подправить под себя )

Цитата:
и кроме как пощелкать кнопочками

И на том спасибо Ха-ха

Цитата:
тут теди например за год побольше его умеет

А там петти то-то умеет, и всего за 11.5 месяцев! Вы сюда пи*** пришли мериться? ))

Цитата:
все зависит от кривизны звилин мозка

Понимаете, есть люди которым что-то сказали и они это тут же делают, не задумываясь что и зачем. В процессе возможно начинают об этом подумывать, но не сразу.

А есть люди которые сначала думают, все взвешивают и потом делают или не делают. Вот я отношусь скорее ко второй категории. И пока, в данной теме, не прозвучало ни одного весомого для меня довода преимуществ утф кодировки. Более того, я привел кучу примеров почему мне НЕ стоит на нее переходить. Переубедите меня? Внимательно Вас выслушаю и скажу Вам только спасибо! А пока все как то неубедительно.. 21 век, потомки, будущее, проблемы в будущем... Пока я их не наблюдаю, и не вижу никаких предпосылок для них. С другой стороны проблемы и ошибки с утф у меня есть уже сейчас и их много. Ферштейн? Подмигивание

Цитата:
так что отстаньте пуст человек далее живет своим виндоуз, дле и исп менеджер

Вот это уж точно! ))) Пробовал я и мак технику (тоже кстати 2 раза - думал в первый раз что то не так понял) - оба раза продавал эту технику к чертям собачим )), пробовал и другие движки, и другие методы управления сервером (SSH и т.п.) - мне такого добра даром не надо! ) Слава Богу что все что Вы перечислили есть и я этим могу пользоваться ) Хвала людям придумавшим это! )

Цитата:
а нам больше работы будет со стоюшими проектами Ниндзя

Вы во мне конкурента чтоли увидели? )) Не бойтесь, я "программирую" только для себя, ито очень редко - в основном это мелкие правки )
HRusty Отправлено: 22 Октября, 2014 - 23:44:33 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
MiksIr пишет:
В юниксе есть такая штука - переменные окружения. Если в putty наберете env - увидите их.

Каждая новая запускаемая программа наследует окружение. Т.е. если при загрузке системы кто-то установил переменную окружения, то дальше она будет "распространяться" по запускаемым программам. Если они не изменят или отфильтруют.

Вот дело в том, что когда php запускается как cgi - он скорее всего запускается там через suexec, а последний "чистит" окружение, типа в целях безопасности. Ну и LANG прибивает.

Пока я вижу один вариант - запуск через врапер. Т.е. делается bash скрипт, который запускается вместо php, делает установку переменной окружения и запускает php-cgi.

Ох как все сложно.. А просто изменить в каком нибудь файле значение не получится? Ну или через ту же консоль задать нужные параметры?


Тут появилась идея, что быть может я когда поменял локаль под рутом на сервере она нигде не поменялась, а стала меняться только для вновь созданных пользователей. Проверил - нет, для всех старых локаль тоже сменилась.

Вот, зашел в консоль под одним из юзеров:

CODE (htmlphp):
скопировать код в буфер обмена
  1. login as: parking
  2. parking@185.331.13.114's password:
  3. Last login: Thu Oct 23 00:33:30 2014 from 178.170.111.17
  4. -bash-4.1$ locale
  5. LANG=ru_RU.cp1251
  6. LC_CTYPE="ru_RU.cp1251"
  7. LC_NUMERIC="ru_RU.cp1251"
  8. LC_TIME="ru_RU.cp1251"
  9. LC_COLLATE="ru_RU.cp1251"
  10. LC_MONETARY="ru_RU.cp1251"
  11. LC_MESSAGES="ru_RU.cp1251"
  12. LC_PAPER="ru_RU.cp1251"
  13. LC_NAME="ru_RU.cp1251"
  14. LC_ADDRESS="ru_RU.cp1251"
  15. LC_TELEPHONE="ru_RU.cp1251"
  16. LC_MEASUREMENT="ru_RU.cp1251"
  17. LC_IDENTIFICATION="ru_RU.cp1251"
  18. LC_ALL=
  19.  



Цитата:

Господи.. неужели кто-то еще использует php-cgi... мда.

А что это? ) И чем так плоха? ) Может снять тогда галочку?
HRusty Отправлено: 22 Октября, 2014 - 22:55:37 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Цитата:
Ради того, что бы потом у потомков проблем не было с вашими поделками.

Ну я так то сайты для себя делаю а не для потомков ) Перед передачей в наследство, так и быть переконвертирую (может быть) Радость


Цитата:
Не, не существенны, будет у вас 280 мегов, или 320. Про гзип - это я про передачу данных. Про хранение - даже в голову не пришло, что кто-то скажет.

Я тоже про передачу.. В ГЗИП можно еще и хранить? ) Просто насколько я знаю, ГЗИП нагружает процессор, и его использование не всегда оправданно.


Цитата:
Насчет "проблемы". Вы смотрите, что phpinfo дает, в частности _SERVER значения. Если переменные окружения (LANG и т.п.) дошли до PHP - должен работать в нужно локали. Ну или get default locale или как там функция.

Во, это уже ближе к делу! ) Я сейчас как раз пересматривал функции ПХП чтобы найти функцию выводящую текущую локаль - не нашел. А Ваш метод то что нужно! Благодарю )


Вот что нашел по теме в пхпинфо:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. HTTP_ACCEPT_LANGUAGE    ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
  4.  
  5. ***
  6.  
  7. _SERVER["HTTP_ACCEPT_LANGUAGE"] ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
  8.  
  9. ***
  10.  
  11. _ENV["HTTP_ACCEPT_LANGUAGE"]    ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
  12.  
  13.  


Больше ничего интересного там не нашел, при поиске "utf", "local" или "cp" - вообще ничего не находит (
(Добавление)
При сравнении кода модуля (в котором все обрабатывается корректно) и моего скрипта (где кириллица вообще игнорится), увидел что в коде модуля есть такая строчка в самом начале:

PHP:
скопировать код в буфер обмена
  1. $query = $db->safesql(trim(iconv('utf-8', 'windows-1251', $_GET['q'])));


В моем коде такого нету естественно. Что странно, сайт работает на CP1251.. Сам код модуля тоже сохранен в ней же. Откуда вообще может браться УТФ не пойму.. Может в этой функции вся фишка?
(Добавление)
Цитата:
У centos на апач локаль задается отдельно. Отредактируйте /etc/sysconfig/httpd - там HTTPD_LANG.

Второй вариант - задание локали в конфиге апача или .htaccess с помощью SetEnv


Вот что у меня находит в файле httpd по запросу: "HTTPD_LANG"

CODE (htmlphp):
скопировать код в буфер обмена
  1. #
  2. # By default, the httpd process is started in the C locale; to
  3. # change the locale in which the server runs, the HTTPD_LANG
  4. # variable can be set.
  5. #
  6. #HTTPD_LANG=C


Что с этим делать? Раскомментировать?


======================

А второе даже не знаю где делается и как.. В htacess каждого сайта? А напрямую чтобы от сервера шло нельзя сделать?
(Добавление)
Помнится, когда-то, мне нужно было увеличить максимальный размер файла допускаемый к загрузке на сервер - перелопатил кучу мануалов по данному вопросу, и в итоге увеличил данный показатель в файле PHP.ini на сервере - но не помогло. Тогда обратился за помощью к ТП хостинга, и они мне сказали что так как мои сайты работают как то особенно, то чтобы это сделать нужно в корневой папке каждого пользователя (созданного в ISP), в папке CGI BIN (вроде) прописывать все то же самое в аналогичном файле - помогло.

Тут может быть все тоже самое? Только я никак не могу найти там что то подобное под локаль.. Да и как?..


Хотя стоп... Это я под рутом (через консоль) локаль на сервере менял отдаваемую, может надо также с каждым юзером сделать? Но у меня их более 50... (
HRusty Отправлено: 22 Октября, 2014 - 22:19:20 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Цитата:
Совет вам уже дали и не раз Улыбка

Да пока ничего не помогает...

Цитата:
Кстати не совсем понял. Вы говорите что у вас VDS, и тут вдруг какая-то isp-панель... Систему не сами ставили? Если нет, то отсюда может быть корень всех проблем.

Я говорил ВПС (хотя не уверен что есть различия). У меня виртуальный сервер в общем, не выделенный. Ставил не сам - мне до этого далеко еще, да и не очень бы хотелось вникать в эти дебри )) Подключение и пара команд через консоль (путти) для меня пока вершина айсберга в этом плане )) Ну, через файловый менеджер ISP могу еще полазать и подредактировать разные файлики.

Сам я только переустанавливал виртуалку через vdsmanager (нажатием одной кнопочки Радость ) так как были некоторые баги после первой установки хостером.
(Добавление)
Тут сейчас случайно заметил что некоторые ПХП скрипты (модули), которые ранее обрабатывали стртоловер и стртоаппер наоборот, стали работать исправно (стртоаппер в верхний регистр, стртоловер в нижний), однако мой скрипт из 1 поста почему то все также не обрабатывается... Пойду разбираться...
HRusty Отправлено: 22 Октября, 2014 - 22:00:55 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
второй скрин
(Добавление)
Цитата:
есть, но то что вам нужно - нужно только вам. Посоветовал бы ещё сходить на Stackoverflow или Serverfault, но боюсь вас там забанят Улыбка

А что мне нужно? Можно в 2 словах? Сомневаюсь что вы это поняли.

Я прошу помочь мне в настройке обычных вещей - чтобы интерпритатор PHP на моем сервере мог изначально обрабатывать кириллицу стандартными строковыми функциями, без каких либо дополнительных манипуляций - все! Это что-то не естественное и не нормальное?

Цитата:
PS! Продолжайте втирать очки про "крутой" DLE где-нибудь вконтактике.

Ни в коем случае! ) Все ждал когда меня начнут обвинять в рекламе ) Это все лично мое мнение и я его никому не навязываю. Просто не люблю необоснованных претензий.

PS: Вы, кстати, тупо слились с ответа Закатив глазки
HRusty Отправлено: 22 Октября, 2014 - 22:00:31 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Цитата:
Понимаете, познание нового, оно как бы много шире, чем поставить где-то галочку или нажать ссылочку "обновить".

Прекрасно понимаю. Знаете сколько нужно перелопатить кода на ДЛЕ (чтобы работали все сторонние модули и хаки на сайте) при обновлении движка? Радость

Цитата:
Никаких нерешаемых проблем с UTF8 нет. Да их там всего две - строковые функции и регексп. Первое меняется на mb_, в том числе тупо через конфиг php, вторая решается ключиком u.

Ну смотрите. Проблемы ведь есть? Есть. На кп1251 у меня их нет? Нет. Совсем-совсем? Да! )) Так и зачем мне вообще какие то проблемы, ради чего? )


Цитата:
Все остальное - это откровенно кривые руки. Равно как и всякие "увеличения страничек", которые на самом деле выливаются максимум в 20%, а после gzip и того не остается.

Все же увеличение есть. А если ГЗИП не использовать? Вот у меня например есть онлайн библиотека - более 10 000 онлайн произведений на сайте, каждое по 3-30к знаков. Как думаете, для меня эти 20% существенны?

Цитата:
Глупая рекомендация, особо если на этом vps только вы планируете свои сайты держать. CGI режим по производительности хуже эдак на порядок, а то и больше. Точно CGI, а не FCGI (Fast CGI)?

Не знаю, спросил напрямую у ТП хостера что лучше - сказали PHP как CGI. Сайты да, только свои, но очень ресурсоемкие. На одном из них сейчас например 600+ человек онлайн. Остальные намного меньше потребляют ресурсов (есть и нулевки вообще), но все же.

Еще, когда то пробовал работать через APACHE - потом были проблемы с правами на файлы созданные скриптами... Подробностей не помню, но были проблемы с их редактированием или удалением. Тогда хостер тоже сказал что лучше использовать PHP как CGI, там мол подобного не случится никогда.

FCGI (Fast CGI) или просто CGI - не знаю.. Как посмотреть? Прилепил скриншоты (один в этом, другой в след сообщении) настройки юзера в ИСП и настройки сайта которые у меня выставлены.
HRusty Отправлено: 22 Октября, 2014 - 21:06:50 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Неужели в разделе по настройке серверов нет ни одного знающего как это настроить?
(Добавление)
Цитата:
Выставление себя клоуном не лучшим способом сказывается на мнении о вас.

Не понял В каком месте я это делал? )

Цитата:
Сами вы себе и помешаете. Не осилите, просто. И побежите на форумы плакаться, как же вам тяжело жить.

На оф сайте того же ДЛЕ есть подробная, пошаговая инструкция. Так что думаю (по крайней мере надеюсь) тут я справлюсь )

Цитата:
А у вас дома старый добрый дисковый телефон, старая добрая чехословацкая мебель времен СССР и конечно же классический металлический чайник.

Ну, не преувеличивайте. У меня (уже) старенький телефончик самсунг галакси с2, брал несколько лет назад за 20к+. Меня он полностью и до сих пор устраивает и менять его на что то новое.. Зачем? Ради моды?

Цитата:
Проблема в "не понравилось" в том, что вам скорее всего просто все не нравится, что заставляет вас делать что-то не привычно, что выбивает вас из обычной среды. И это, увы, даже уже не консерватизм. Старость?

На днях 29 стукнуло. По поводу новшеств нацеленных на удобство и упрощение работы я всегда "ЗА", как пример - ту же ДЛЕ обновляю до актуальной версии регулярно (а новшеств там в каждой новой версии - "мама не горюй!"). Чтоже касается кодировки, я уже писал - пробовал несколько раз - каждый раз в последствии ругался матом и клялся что это в последний раз когда я с ней имею дело.

Цитата:
Не волнуйтесь, я не опасен для общества, можете не вздрагивать в темноте от металических щелчков. Юмор ситуации в том, что и вас здоровым назвать сложно.

Ох, спасибо, теперь я могу спать спокойно! Радость

Цитата:
Ну раз у вас такой консерватизм, то думаю, что угадаю с предположением, что у вас апач и mod_php?

Если что, сервер я заказывал (устанавливался) несколько дней назад. Я никаких настроек не заказывал специальных у хостера. Так что тут если что и есть про консерватизм то это к хостеру )

Цитата:
У centos на апач локаль задается отдельно. Отредактируйте /etc/sysconfig/httpd - там HTTPD_LANG.

Второй вариант - задание локали в конфиге апача или .htaccess с помощью SetEnv

Я могу выбрать при создании сайта как он будет работать - через модуль APACHE, или через PHP как CGI. У меня на всех сайтах выставлено последнее (рекомендация того же хостера), о чем я собственно и указывал в первом посте. Но все же попробую Вашу рекомендацию, спасибо!

Цитата:
Прикольная логика, чо. "Нафигачу кучу iconv-ов, лишь бы не писать на utf-8 сразу" =)

Тут скорее наоборот. Вы часто используете джейсон? Я вообще например не использую. А если и использовал бы, ради этого одного использования вы предлагаете всю систему конвертировать в другую кодировку, из-за которой у меня одни проблемы? ) Проще 1 раз сконвертировать при вызове данной функции.
HRusty Отправлено: 22 Октября, 2014 - 20:29:21 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Цитата:
UTF - стандарт, в том числе в веб-разработке. Стандарт, который направлен на облегчение жизни всем - и создателям сайтов и создателям ПО для создателей сайтов.

Звучит как закон прям ) Ваш? Ха-ха

Цитата:
Ясно дело, что никто не выпустил "запрет о ANSI", переход плавный. Но рано или поздно такое понятие, как куча разных ansi - начнет вообще пропадать.

По-этому, имеет смысл двигаться в этом направлении уже сейчас.

Простите конечно, но кто мне помешает "рано или поздно (а скорее поздно если вообще надо будет)" взять и перевести все сайты на УТФ?


Цитата:
Если ваш мозг трещит и лопается от "всего нового", и не способен усваивать такие нюансы - ну что же, используйте cp1251, но начинайте уже серьезно планировать, как будете жить на пенсии (я не про государственную, я про "не могу ничего делать, кроме смотреть ТВ в теплой шапке").

Радость как это все связано? ) Я пробовал ваше "новое" - мне не понравилось (одни проблемы и сложности из-за этого нового), спрашивается - зачем мне это новое если прекрасно и надежно работает старое? )

Вы наверное из ярых яблоководов? И как только выходит новая модель айфона (с другой буковкой на конце), сразу бежите спускать на него 80% своей зарплаты (или пенсии)? Этож новое! ))


Цитата:
Все приведенные вами отзывы - это такой бред, что вянут уши. Попробуйте сами это понять. Воевать с невежеством - это вообще самое бесполезное занятие (за исключением применения АК-47 и подобного).

Попробуйте обратиться к психологу.. У вас явно прослеживается нарушение психики )

Цитата:
Что до ответа на ваш вопрос, который ищется за 5 минут гугления, то в centos системная локаль ставится в файле /etc/sysconfig/i18n

То что "ищется за 5 минут" не всегда помогает. Я это проделывал еще на самой первой стадии, как видите - не помогает.

Цитата:
C json работали?

Про функцию конвертации слыхали? $result= iconv( "utf-8", "windows-1251", $result);
(Добавление)
Цитата:
Я вас умоляю Улыбка Заниматься CMS и писать под них разные вещи.

В чем разница? Ну в смысле что из описанного мной не сходится? У меня есть знакомый программист, пишет мне разные модули под ДЛЕ на заказ. Никогда никаких проблем и замечний к ДЛЕ или к кодировке у него не возникало. А вещи он какие только не писал.


Цитата:
DLE открытый? С каких пор?

С момента покупки лицензии на оф сайте Подмигивание


Цитата:
Я с такими как вы "мне нужен только русский" сталкиваюсь в год раз по 10. Потом внезапно у них в один прекрасный момент начинает все зудить не только на русском.

Нет, в этом плане я точно знаю чего хочу ) И в конце концов, кто мне помешает при надобности сменить кодировку?


Цитата:
А по поводу смены кодировок в системе. Не жирно ли? Тем более если вы внезапно собирались для DLE писать.
Так и вижу туеву хучу юзеров которые прямо побежали с шарда на VPS/VDS из-за того что им нужно менять глобально кодировку системы, из-за DLE...

Вот этого вот вообще не понял.. Вы о чем? Какие юзеры? Какие кодировки? Мне нужно просто сделать чтобы сервер по умолчанию отдавал нужную локаль, и ее не нужно было вручную меня в начале каждого ПХП файла - все! ) Мне кажется на нормально настроенном хостинге это должно по умолчанию так работать, разве нет? Если нет, и у всех так (по умолчанию кириллица не обрабатывается корректно) то и хрен с ним. А так, ВПС мой, как хочу так и настраиваю.. Какие еще толпы юзеров? ))


Цитата:
английская Улыбка да у меня винда на англ. и что? Мне тоже в винде ставить локаль для русского языка в скрипте?

Ну ваша винда не для России предназначалась, поэтому и кодировка не Российская используется.

Цитата:
косяк времен царя Гороха.

От этого он не перестает быть косяком, не находите?


Цитата:
PS! Поржал с цитат Улыбка bash.org нервно курит в сторонке Улыбка

Прошу Вас, больше конкретики! ) А то опять напоминает зомбированное "УТФ рулит, КП говно!!". С чем из приведенного не согласны? Опровергнуть и обосновать можете?
HRusty Отправлено: 22 Октября, 2014 - 18:59:15 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Sail пишет:
HRusty, попробуйте так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header("Content-Type: text/html; charset=cp1251");
  3. $test = mb_strtolower('мАшИнКавПВ');
  4. $test = mb_convert_case($test, MB_CASE_TITLE);
  5. echo 'Рус: ' . $test;
  6. $testEng = strtolower('kInoFiLmS');
  7. $testEng = ucfirst($testEng);
  8. echo '<br><br>Анг: ' . $testEng;
  9.  

Так работает, спасибо. Но по сути так еще больше кода чем с вариантом setlocale... Нельзя ли как то сервер настроить на изначально корректную обработку этих функций?



Цитата:
Плюсы UTF-8:
UTF-8 позволяет работать одновременно с несколькими языками, т.е. выдавать тексты, в которых используются символы разных алфавитов и даже иероглифы. С использованием кодировки 1251 это невозможно;
использование UTF-8 позволяет отказаться от кодовых таблиц, трансляций символов и всех прочих извращений, что были ранее с однобайтовыми кодировками;
Нет кучи кодировок для одного и того же языка, как это было ранее для русского: cp1251, cp866, koi8r, iso8859-5.
Вы привели в пример DLE, а я приведу в пример WordPress, Yii, Symfony... думаю доля этих CMS и Framewordов побольше вашего dle. Я на dle не работал, но слышал про него много пакостей. Уверен, что часть этих пакостей из за cp-1251.
Про редакторы, и cp-1251 по умолчанию там, вы загнули. Скачайте phpstorm и увидите какая там кодировка по умолчанию. Явно не 1251. Да и откуда вы такую инфу взяли? Вы думаете разработчики софта для прогерров особо задумываются о винде и ее кодировке? Львиная доля прогеров сидит на линуксах и маках.
(Добавление)
По поводу функций php. С 6-ой версии php скорее всего utf-8 старнет стандартом уже для большенства строковых функций. Щас это есть, с частью немаловажных. Да и нет никаких проблем там не с русскими символами. Вас послушать, так php прям для россии писали...

А если планируется работа только с русским языком (мы все таки в России живем)? Ну и изредка некоторые английские словечки.

По поводу ЦМСок - я сайтами занимаюсь с 2005 года, перепробовал кучу разных ЦМС (и WP, и Джумлу, и Друпал и еще кучу всяких) - и скажу так, на мой взгляд нет ничего лучше, проще и надежнее этой самой дле. Нагрузки выдерживает огромные, код цмс весь открытый и легко правится/дорабатывается под свои нужды, все логично и понятно - взять туже систему шаблонизации - для правки шапки сайта или добавления информера на сайт не нужно изучать языков программирования (в отличии от того же ВП). Не знаю кто там что плохое про него говорит - я бы почитал с удовольствием. Я на нем делаю абсолютно любые сайты (ИМ, блоги, порталы, фотогаллереи, различные онлайн сервисы и т.п.) - и никаких проблем/нареканий к его работе у меня не возникает.

Цитата:
1. Несомненно это плюс. А теперь представьте многоязычный сайт. Представили? А в месте с этим теперь посчитайте "экономию" на обработке.
2. с каких это пор в винде cp1251 родной стала. Вы хотите сказать что в других локализациях windows(китайской XP или арабской windows 7) тоже cp1251?
3. их по пальцам пересчитать. Не вижу проблемы.
4. не будьте наивным. То что корявый DLE ещё работает на таком барахле как 1251 не делает эту CMS чем-то особенным. И как уже сказали постом выше DLE в доле CMS так мал что им можно пренебречь

1. А зачем мне представлять если я таким не занимаюсь и не планирую даже? )
2. Ну в стандартном блокноте, стандартной РУ виндоуз какая кодировка у вас? Утф?
3. Все же они есть.
4. Ну я ведь выбираю кодировку для себя, а не для "львиной доли", верно? А так как я работаю только с ДЛЕ, и только с русским языком - какая для меня подходит кодировка?



Цитата:
Всеми любимый ajax работает только с utf8. Если вы увидели что это не так, то увидели яркий пример говнокода с костылями.

Вот это единственный более-менее весомый аргумент который я увидел. Хотя я и на ср1251 никогда никаких проблем не испытывал с аяксом. Уж не знаю через что там был написан код (с использованием говна или через костыли), но все работает прекрасно и без нареканий. Потому для меня это по сути тоже не аргумент.

Цитата:
неумение или незнание.

Скорее геморойность и не понимание зачем оно мне вообще надо.

Цитата:
вы просто не искали ;)

Оооо, в свое время кучу времени убил на поиск данных ответов - кроме вещей которые описаны выше никто и нигде ничего больше не пишет в преимущества УТФ, зато все хором кричат какой он классный, а кп - УГ )
(Добавление)
Еще вспомнил косяк с УТФ и ПХП - подсчет количества символов )
(Добавление)
Вот Вам еще пара выдержек из отзывов об УТФ из Интернета:

Спойлер (Отобразить)
HRusty Отправлено: 22 Октября, 2014 - 09:29:26 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Viper пишет:
HRusty вот вопрос на заре 21 века у меня возник. Зачем вам приспичило менять кодировку сервера с utf8 на геморой начала 90-ых? Какой цели вы пытались достичь этим?

Если вам нужно то почему бы не сменить её на ru_RU.UTF-8 ?

Ну потому что у меня геморой обычно возникает именно с утф8. Я вижу в ней одни минусы, и неудобства и хоть убей не понимаю почему ее все так нахваливают а ср1251 гнобят..

Плюсы кодировки СР1251:
1. Она занимает меньше места
2. Она "родная" для виндоуз и с ней никогда не возникает никаких проблем с крякозябрами при локальном редактировании файлов (если что, использую сторонние текстовые редакторы, например Notepad2 и он по умолчанию работает с этой кодировкой)
3. Не нужно искать альтернативные функции для ПХП (с добавлением всякиx "mb") из-за того что утф стандартными обрабатывается криво.
4. Почти все скрипты и модули для сайтов выпускаются именно в этой кодировке (и утф, параллельно, поддерживается ооочень редко). Взять тот же ДЛЕ. Знаю только одного разработчика (пафнутий), который выпускает модули под эту ЦМС принципиально в УТФ8.. Ну-ну, удачных ему продаж. 1 клиента он уже точно потерял (уверен что их гораздо больше).
5. Может еще что забыл упомянуть...

Опровергнуть можете? Плюсы хоть какие либо кодировки УТФ8 привести, с учетом того что использоваться она будет только на русскоязычном сайте без использования каких либо наиредчайших символов. Ну кроме 21 век и т.п.

У меня всегда были проблемы с этой кодировкой, сколько раз я не пробовал на нее переходить. Всегда начинались какие то косяки, не совместимости и прочие вещи которых с СР1251 в жизни не бывало.

ПС: Всегда когда отвечаю подобным образом на подобные вопросы взамен, почему то, не получаю ни единого ответа по данному вопросу... Никто так и не может объяснить чем же она так лучше.
HRusty Отправлено: 22 Октября, 2014 - 01:25:08 • Тема: Как поставить нужную локаль на сервере по умолчанию? • Форум: Apache и другие веб-серверы

Ответов: 26
Просмотров: 3188
Всем привет!

Давно у меня были проблемы на ПХП с функциями меняющими регистр текста, всегда все работало наоборот (не помогала даже функция сетлокале). Но вот я переехал на новый сервер и думал данную проблему теперь забуду навсегда - но не тут-то было! Все тоже самое!

По умолчанию от сервера (Цент ОС) идет кодировка: en_US.UTF-8, она корректно обрабатывает только английские буквы. Русские вообще игнорирует..

С горем пополам, перештрудив кучу мануалов в сети, мне удалось самостоятельно познать что такое путти, ССХ и т.д. И получилось установить на сервер нужную мне локаль: ru_RU.CP1251, при подключении которой (через команду: setlocale(LC_CTYPE, 'ru_RU.cp1251'); в начале каждого ПХП скрипта) все стало работать и обрабатываться как надо!

=============

Вообще шикарно все, если бы не одно НО: это действие (вызов смены локали) нужно делать в каждом ПХП скрипте, это трудоемко, лишне-гемморно и мне кажется - не правильно.

Вопрос: Как сделать чтобы сервер по умолчанию отдавал эту локаль? Делается ли вообще это? И стоит ли, или все через "сетлокале" это и делают?

Сколько не пробовал вариантов и инструкций ничего не помогает Недовольство, огорчение Кто нибудь может подсказать действительно рабочий вариант?
(Добавление)
Вот что проделывал в ПУТТИ в последний раз, и вроде по логу все удалось в конце, но по факту все на том же месте... (ПС: понимаю что там может быть много лишних действий, или вообще не нужных - но прошу не злиться - я 1 раз с этим путти работаю)

CODE (htmlphp):
скопировать код в буфер обмена
  1. login as: root
  2. root@135.314.131.111's password:
  3. Last login: Tue Oct 21 21:09:17 2014 from 185.14.29.133
  4. [root@vmer ~]# locale
  5. LANG=en_US.UTF-8
  6. LC_CTYPE="en_US.UTF-8"
  7. LC_NUMERIC="en_US.UTF-8"
  8. LC_TIME="en_US.UTF-8"
  9. LC_COLLATE="en_US.UTF-8"
  10. LC_MONETARY="en_US.UTF-8"
  11. LC_MESSAGES="en_US.UTF-8"
  12. LC_PAPER="en_US.UTF-8"
  13. LC_NAME="en_US.UTF-8"
  14. LC_ADDRESS="en_US.UTF-8"
  15. LC_TELEPHONE="en_US.UTF-8"
  16. LC_MEASUREMENT="en_US.UTF-8"
  17. LC_IDENTIFICATION="en_US.UTF-8"
  18. LC_ALL=
  19. [root@vmer ~]# cd /usr/share/i18n
  20. [root@vmer i18n]# localedef -c -f CP1251 -i ru_RU /usr/lib/locale/ru_RU.cp1251                                          (# localedef - f CP1251 -i ru_RU ru_RU.cp1251)
  21. -bash: syntax error near unexpected token `('
  22. [root@vmer i18n]# localedef -c -f CP1251 -i ru_RU /usr/lib/locale/ru_RU.cp1251
  23. [root@vmer i18n]# localedef - f CP1251 -i ru_RU ru_RU.cp1251
  24. Try `localedef --help' or `localedef --usage' for more information.
  25. [root@vmer i18n]# localedef --help
  26. Usage: localedef [OPTION...] NAME
  27.   or:  localedef [OPTION...] [--add-to-archive|--delete-from-archive] FILE...
  28.   or:  localedef [OPTION...] --list-archive [FILE]
  29. Compile locale specification
  30.  
  31.  Input Files:
  32.   -f, --charmap=FILE         Symbolic character names defined in FILE
  33.   -i, --inputfile=FILE       Source definitions are found in FILE
  34.   -u, --repertoire-map=FILE  FILE contains mapping from symbolic names to UCS4
  35.                              values
  36.  
  37.  Output control:
  38.   -c, --force                Create output even if warning messages were issued
  39.  
  40.       --old-style            Create old-style tables
  41.       --posix                Be strictly POSIX conform
  42.       --prefix=PATH          Optional output file prefix
  43.       --quiet                Suppress warnings and information messages
  44.   -v, --verbose              Print more messages
  45.  
  46.  Archive control:
  47.       --add-to-archive       Add locales named by parameters to archive
  48.   -A, --alias-file=FILE      locale.alias file to consult when making archive
  49.       --delete-from-archive  Remove locales named by parameters from archive
  50.       --list-archive         List content of archive
  51.       --no-archive           Don't add new data to archive
  52.       --replace              Replace existing archive content
  53.  
  54.   -?, --help                 Give this help list
  55.       --usage                Give a short usage message
  56.   -V, --version              Print program version
  57.  
  58. Mandatory or optional arguments to long options are also mandatory or optional
  59. for any corresponding short options.
  60.  
  61. System's directory for character maps : /usr/share/i18n/charmaps
  62.                        repertoire maps: /usr/share/i18n/repertoiremaps
  63.                        locale path    : /usr/lib/locale:/usr/share/i18n
  64. For bug reporting instructions, please see:
  65. <http://www.gnu.org/software/libc/bugs.html>.
  66. [root@vmer i18n]# locale
  67. LANG=en_US.UTF-8
  68. LC_CTYPE="en_US.UTF-8"
  69. LC_NUMERIC="en_US.UTF-8"
  70. LC_TIME="en_US.UTF-8"
  71. LC_COLLATE="en_US.UTF-8"
  72. LC_MONETARY="en_US.UTF-8"
  73. LC_MESSAGES="en_US.UTF-8"
  74. LC_PAPER="en_US.UTF-8"
  75. LC_NAME="en_US.UTF-8"
  76. LC_ADDRESS="en_US.UTF-8"
  77. LC_TELEPHONE="en_US.UTF-8"
  78. LC_MEASUREMENT="en_US.UTF-8"
  79. LC_IDENTIFICATION="en_US.UTF-8"
  80. LC_ALL=
  81. [root@vmer i18n]# export LANG=ru_RU.cp1251
  82. [root@vmer i18n]# locale
  83. LANG=ru_RU.cp1251
  84. LC_CTYPE="ru_RU.cp1251"
  85. LC_NUMERIC="ru_RU.cp1251"
  86. LC_TIME="ru_RU.cp1251"
  87. LC_COLLATE="ru_RU.cp1251"
  88. LC_MONETARY="ru_RU.cp1251"
  89. LC_MESSAGES="ru_RU.cp1251"
  90. LC_PAPER="ru_RU.cp1251"
  91. LC_NAME="ru_RU.cp1251"
  92. LC_ADDRESS="ru_RU.cp1251"
  93. LC_TELEPHONE="ru_RU.cp1251"
  94. LC_MEASUREMENT="ru_RU.cp1251"
  95. LC_IDENTIFICATION="ru_RU.cp1251"
  96. LC_ALL=
  97. [root@vmer i18n]# system-config-language
  98. -bash: system-config-language: ------- -- -------
  99. [root@vmer i18n]# restart
  100. restart: missing job name
  101. Try `restart --help' for more information.
  102. [root@vmer i18n]#
  103. Broadcast message from root@vmer.vds
  104.         (unknown) at 2:08 ...
  105.  
  106. The system is going down for reboot NOW!
  107.  
  108.  

(Добавление)
И главное ведь - сервер перезагрузил, запускаю по новой ПУТТИ и вот он что выдает, хотя на сайтах локаль так и не сменилась по факту - меняется только по "сетлокале":

CODE (htmlphp):
скопировать код в буфер обмена
  1. login as: root
  2. root@135.314.131.111's password:
  3. Last login: Wed Oct 22 01:59:15 2014 from 185.14.29.133
  4. [root@vmer ~]# locale
  5. LANG=ru_RU.cp1251
  6. LC_CTYPE="ru_RU.cp1251"
  7. LC_NUMERIC="ru_RU.cp1251"
  8. LC_TIME="ru_RU.cp1251"
  9. LC_COLLATE="ru_RU.cp1251"
  10. LC_MONETARY="ru_RU.cp1251"
  11. LC_MESSAGES="ru_RU.cp1251"
  12. LC_PAPER="ru_RU.cp1251"
  13. LC_NAME="ru_RU.cp1251"
  14. LC_ADDRESS="ru_RU.cp1251"
  15. LC_TELEPHONE="ru_RU.cp1251"
  16. LC_MEASUREMENT="ru_RU.cp1251"
  17. LC_IDENTIFICATION="ru_RU.cp1251"
  18. LC_ALL=

(Добавление)
А вот на всякий случай сам тестовый ПХП код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. //setlocale(LC_CTYPE, 'ru_RU.cp1251');
  4.  
  5. $test = strtolower('мАшИнКавПВ');
  6.  
  7. $test = ucfirst($test);
  8.  
  9. echo 'Рус: ' . $test;
  10.  
  11.  
  12.  
  13.  
  14.  
  15. $testEng = strtolower('kInoFiLmS');
  16.  
  17. $testEng = ucfirst($testEng);
  18.  
  19. echo '<br><br>Анг: ' . $testEng;
  20.  
  21. ?>


Кириллица обрабатывается только если расскоментироать сетлокале ((
(Добавление)
Еще такой момент, на всякий случай. Тестовый сайт находится на отдельном пользователе в isp, и работает в режиме ПХП как ЦГИ + галочка Cgi-bin.
HRusty Отправлено: 28 Февраля, 2014 - 08:58:26 • Тема: Не работают функции "ucfirst" и "strtoupper" с кириллицей, как побороть? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 1216
Viper пишет:
В 21-вый век и с 1251...

А чем она плоха? Если например не планируется использовать всякие необычные символы. Места меньше занимает, работает быстрее и без ошибок всяких. Всякие моды и т.п. на PHP (на DLE например) в основном под нее пишутся. Я пока только наоборот, изучая PHP, только плюсы от нее вижу. Например то что 1 символ занимает 1 байт и все функции работают (должны по крайней мере) как и положено, нет никаких непоняток с тем что хочешьт взять 2 первых символа (например) а берется только 1 из-за мультибайтовости. Не надо всяких альтернатив искать с приставками типа "mb_*".

Буду очень благодарен если объясните мне чем она так плоха. Сам бы и рад на что то новое перестроиться, да пока только минусы вижу от этого.


Viper пишет:
http://stackoverflow[dot]com/questio[dot][dot][dot]racter-encodings

Честно говоря ничего там не понял.. Я еще только начинаю, и мне не очень все термины и функции понятны, тем более если о них там пишут на английском.. Вы не могли бы в кратце своими словами мне объяснить?

Мелкий пишет:
В мануале написано, что зависит от локали - setlocale.

Да я видел про эту локаль (гуглил уже). Пробовал прописать так в середине кода:

PHP:
скопировать код в буфер обмена
  1. $newtext = setlocale(LC_CTYPE , 'ru_RU.CP1251');


Так вообще все перестало работать, даже ничего не выводится на страницу.




Мелкий пишет:
Но я бы лучше взял что-нибудь из сторонних реализаций. В комментариях несколько вариантов есть: http://nl3.php.net/ucfirst

Я тоже так подумал, тем более что везде где не искал это советуют. Вот что нашел:

PHP:
скопировать код в буфер обмена
  1. function my_strtoupper($str){ // for Windows-1251
  2.   return str_replace('ё','Ё',preg_replace('#[а-я]#se','chr(ord("$0")-32)',$str));
  3. }


Прописал так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $oldtext = $_POST['text'];
  3. $newtext = htmlspecialchars($oldtext);
  4.  
  5. // Ищем и добавляем пробел после точки/запятой (при надобности)
  6. $newtext = preg_replace('/\.([^\. ])/', '. \1', $newtext);
  7.  
  8.  
  9. function my_strtoupper($str){ // for Windows-1251
  10.   return str_replace('ё','Ё',preg_replace('#[а-я]#se','chr(ord("$0")-32)',$str));
  11. }
  12.  
  13.  
  14.  
  15. // Делаем первую букву каждого нового предложения большой
  16. $newtext = preg_replace_callback('/\.\s\w/', create_function('$matches', 'return my_strtoupper($matches[0]);'), $newtext);
  17.  
  18.  
  19. ?>
  20.  
  21.  
  22. <html>
  23. <head>
  24. <meta charset="windows-1251">
  25. <title></title>
  26. </head>
  27.  
  28. <body>
  29.  
  30. <?PHP echo $newtext; ?>
  31.  
  32. <form method="post" action="" style="margin: 100px auto; width: 600px;">
  33. <textarea name="text" style="width: 600px; height: 200px;" required><?PHP echo $oldtext; ?></textarea>
  34. <br>
  35. <div align="center" style="padding: 5px;"><input name="submit" type="submit" value="Отправить"></div>
  36. </form>
  37.  
  38.  
  39. </body>
  40. </html>


И ничего не работает,... В чем моя ошибка?
HRusty Отправлено: 28 Февраля, 2014 - 08:10:55 • Тема: Не работают функции "ucfirst" и "strtoupper" с кириллицей, как побороть? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 1216
Попробовал первый символ в тексте преобразовать в верхний регистр и и чего то у меня преобразуются только английские буквы, с русскими никак не хочет работать. Кодировка 1251 (порыскал в гугле, вроде пишут что такое характерно для utf8). Кто подскажет решение?

Вот весь код моей тест странички

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $oldtext = $_POST['text'];
  4. $newtext = htmlspecialchars($oldtext);
  5.  
  6. // Ищем и добавляем пробел после точки/запятой (при надобности)
  7. $newtext = preg_replace('/\.([^\. ])/', '. \1', $newtext);
  8.  
  9. // Делаем первую букву большой
  10. $newtext = ucfirst($newtext);
  11.  
  12.  
  13. ?>
  14.  
  15.  
  16. <html>
  17. <head>
  18. <meta charset="windows-1251">
  19. <title></title>
  20. </head>
  21.  
  22. <body>
  23.  
  24.  
  25. <?PHP echo $newtext; ?>
  26.  
  27.  
  28. <form method="post" action="" style="margin: 100px auto; width: 600px;">
  29. <textarea name="text" style="width: 600px; height: 200px;" required><?PHP echo $newtext; ?></textarea>
  30. <br>
  31. <div align="center" style="padding: 5px;"><input name="submit" type="submit" value="Отправить"></div>
  32. </form>
  33.  
  34.  
  35. </body>
  36. </html>

(Добавление)
Довел скрипт до ума, правда через функцию "strtoupper" вместо "ucfirst" - так и не додумался как через регулярку найти первую букву каждого предложения и вернуть ее без предшествующей точки и пробела в функцию..


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $oldtext = $_POST['text'];
  3. $newtext = htmlspecialchars($oldtext);
  4.  
  5. // Ищем и добавляем пробел после точки/запятой (при надобности)
  6. $newtext = preg_replace('/\.([^\. ])/', '. \1', $newtext);
  7.  
  8. // Делаем самую первую букву большой
  9. $newtext = ucfirst($newtext);
  10.  
  11. // Делаем первую букву каждого нового предложения большой
  12. $newtext = preg_replace_callback('/\.\s\w/', create_function('$matches', 'return strtoupper($matches[0]);'), $newtext);
  13. ?>
  14.  
  15.  
  16. <html>
  17. <head>
  18. <meta charset="windows-1251">
  19. <title></title>
  20. </head>
  21.  
  22. <body>
  23.  
  24. <?PHP echo $newtext; ?>
  25.  
  26. <form method="post" action="" style="margin: 100px auto; width: 600px;">
  27. <textarea name="text" style="width: 600px; height: 200px;" required><?PHP echo $oldtext; ?></textarea>
  28. <br>
  29. <div align="center" style="padding: 5px;"><input name="submit" type="submit" value="Отправить"></div>
  30. </form>
  31.  
  32.  
  33. </body>
  34. </html>



С английскими буквами все работает как надо, а вот с русскими не хочет.
Как это решить? А главное, почему это не работает вообще?

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB