$sPost='http://www.ili.bez.www.site.ru/ tekst http://site.ru/index.php eshe text site.com tyt ewe text http://www.best-site.ru/downloads';
echopreg_replace("#(https?://)?([\w\-]+\.)*([\w\-]+\.[a-z]{2,4})/?.*(\s|$|\n)#isU",'{reklama} ',$sPost);//{reklama} tekst {reklama} eshe text {reklama} tyt ewe text {reklama}
Довольно часто на форумах(не только на этом) задают подобный вопрос:
Цитата:
"Я написал скрипт, а вместо русских букв из базы данных вижу 'кракозябры'"
Стоит сразу отметить, что все, в рамках одного проекта, должно быть в одной кодировке и тогда такого вопроса у Вас скорее всего не возникнет.
И так перейдем к самой проблеме.
Сама проблема возникает из-за разности кодировки базы данных и файла скрипта, если у Вас сравнение(кодировка) базы данных ,к примеру, windows-1251 , а фаил скрипта в utf8, то вполне естественно, что кириллических символов, в их нормальном виде, вы не увидите.
Для того чтобы выйти из сложившейся ситуации можно использовать следущие варианты:
0. После подключения к базе данных выполнить запрос:
mysql_set_charset('utf8');//аналогично с предыдущим вариантом, тут нужно указать кодировку файла скрипта
Данные действия нужно выполнить сразу после подключения к бд, при чем не оба, а один из вариантов.
Стоит отметить также, что документация php рекомендует второй.
Надеюсь понятно написал и информация будет полезна.
Получаю страницы одного сайта используя curl, один и тот же скрипт - строка в строку, на *nix сервере работает отлично, а на win(apache 2.2) все время приходит ответ Bad Request.
С чем может быть связано? Да, попробовал на денвере - работает, на ручной сборке ни как..