За последние 24 часа нас посетили 50225 программистов и 1690 роботов. Сейчас ищут 1090 программистов ...

Кодировка rss ленты

Тема в разделе "PHP и базы данных", создана пользователем zevilz, 27 апр 2012.

  1. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Создал rss ленту на сайте в кодировке utf8. База у меня тоже в utf8. Тексты у меня отображаются нормально, а то, что вытащено из базы в виде вопросительных знаков. При выводе контента на сайт в файле подключения к базе я исправляю это кодом mysql query (SET NAMES utf8); подключение к базе для вывода rss ленты осуществляется при помощи другого файла с созданием переменных логина, пароля и названия базы, которые потом подставляются в rss.php. Пробовал подставить вышеприведенный код в файле подключения - ничего не происходит, через создание переменной и подставки в код скрипта тоже ничего не происходит. Кто знает, как разобраться с моей проблемой? И не будет ли проблем с новостными агрегаторами при использовании моей кодировки? Заранее спасибо за ответы.
     
  2. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Исправление кодировки при подключении к базе для вывода контента на страницы сайта
    Код (Text):
    1. <?php
    2. $db = mysql_connect ("localhost","root","kenny"); /*MySQL*/
    3. mysql_select_db ("kenny",$db); /*Выбор базы*/
    4. mysql_query ('SET NAMES utf8'); /*Установка кодировки*/
    5. ?>
    Подключение к базе для RSS ленты
    Код (Text):
    1.  
    2. $Server="localhost";
    3. $DataBase = "base";
    4. $Password = "pass";
    5. $Login = "login";
    6.  
    7. function Open($Server,$DataBase,$Login,$Password)  
    8.   {
    9.   $this->Connect = mysql_connect($Server, $Login, $Password ) or die("Could not connect");
    10.           mysql_select_db($DataBase) or die("Could not select database");
     
  3. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Код (PHP):
    1. function Open($Server,$DataBase,$Login,$Password) {
    2.     $this->Connect = mysql_connect($Server, $Login, $Password ) or die("Could not connect");
    3.     mysql_select_db($DataBase) or die("Could not select database");
    4.     mysql_query('SET NAMES utf8');
    5. } 
    ?
    :)
     
  4. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    А я только что сделал вот так:
    Код (Text):
    1.  $this->Connect = mysql_connect($Server, $Login, $Password ) AND mysql_query ('SET NAMES utf8') or die("Could not connect");
    2.           mysql_select_db($DataBase) or die("Could not select database");
    И помогло:)
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Только теперь в переменной
    Код (PHP):
    1. $this->Connect
    у тебя хранится совсем не то, что было задуманно изначально :) У тебя там теперь булево значение (true|false) - результат работы оператора and, а вовсе не указатель на соединение с MySQL.

    Добавлено спустя 2 минуты 47 секунд:
    Хотя, нет, ошибся. Всё-таки указатель на соединение туда запишется.