Создал rss ленту на сайте в кодировке utf8. База у меня тоже в utf8. Тексты у меня отображаются нормально, а то, что вытащено из базы в виде вопросительных знаков. При выводе контента на сайт в файле подключения к базе я исправляю это кодом mysql query (SET NAMES utf8); подключение к базе для вывода rss ленты осуществляется при помощи другого файла с созданием переменных логина, пароля и названия базы, которые потом подставляются в rss.php. Пробовал подставить вышеприведенный код в файле подключения - ничего не происходит, через создание переменной и подставки в код скрипта тоже ничего не происходит. Кто знает, как разобраться с моей проблемой? И не будет ли проблем с новостными агрегаторами при использовании моей кодировки? Заранее спасибо за ответы.
Исправление кодировки при подключении к базе для вывода контента на страницы сайта Код (Text): <?php $db = mysql_connect ("localhost","root","kenny"); /*MySQL*/ mysql_select_db ("kenny",$db); /*Выбор базы*/ mysql_query ('SET NAMES utf8'); /*Установка кодировки*/ ?> Подключение к базе для RSS ленты Код (Text): $Server="localhost"; $DataBase = "base"; $Password = "pass"; $Login = "login"; function Open($Server,$DataBase,$Login,$Password) { $this->Connect = mysql_connect($Server, $Login, $Password ) or die("Could not connect"); mysql_select_db($DataBase) or die("Could not select database");
Код (PHP): function Open($Server,$DataBase,$Login,$Password) { $this->Connect = mysql_connect($Server, $Login, $Password ) or die("Could not connect"); mysql_select_db($DataBase) or die("Could not select database"); mysql_query('SET NAMES utf8'); } ?
А я только что сделал вот так: Код (Text): $this->Connect = mysql_connect($Server, $Login, $Password ) AND mysql_query ('SET NAMES utf8') or die("Could not connect"); mysql_select_db($DataBase) or die("Could not select database"); И помогло
Только теперь в переменной Код (PHP): $this->Connect у тебя хранится совсем не то, что было задуманно изначально У тебя там теперь булево значение (true|false) - результат работы оператора and, а вовсе не указатель на соединение с MySQL. Добавлено спустя 2 минуты 47 секунд: Хотя, нет, ошибся. Всё-таки указатель на соединение туда запишется.