[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ребята помогите с классом БД
Gsmit
Имею в исходном виде функцию:
Код
    // returns true or false
    function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
    {
        if (ADODB_PHPVER >= 0x4300)
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
                                                $this->forceNewConnect,$this->clientFlags);
        else if (ADODB_PHPVER >= 0x4200)
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
                                                $this->forceNewConnect);
        else
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);
    
        if ($this->_connectionID === false) return false;
        if ($argDatabasename) return $this->SelectDB($argDatabasename);    
        return true;    
    }

когда в базе (cp1251) есть рус. запись на сайте выводит как ??????

Помогите пожалуйста добавить в данную функцию чтобы кодировка была cp1251, если без класса это делается так:
Код
mysql_query("SET NAMES 'cp1251'");

Помогите пжл.



Спустя 9 минут, 54 секунды (4.11.2008 - 04:37) Gsmit написал(а):
вот адресс полного файла класса http://war.volgodom.ru/downloads/class.zip

Спустя 1 час, 15 минут, 6 секунд (4.11.2008 - 05:52) Sephiroth_Lukaw написал(а):
Если её перед return вставить, неужели не сработает?

Спустя 4 часа, 2 минуты, 27 секунд (4.11.2008 - 09:54) AndryG написал(а):
Я бы строку mysql_query("SET NAMES 'cp1251'"); поставил в метод SelectDB()
В самом его конце.
По идее (я не очень хорошо знаю функции mysql_), именно на этом этапе, после выбора БД, стоит изменять кодировку.

Спустя 4 часа, 4 минуты, 2 секунды (4.11.2008 - 13:58) Gsmit написал(а):
Цитата(Sephiroth_Lukaw @ 4.11.2008, 2:52) [snapback]53573[/snapback]
Если её перед return вставить, неужели не сработает?


каков ваш уровень знаний в MySQL?
Выбор кодировки нужно делать после select

Цитата(AndryG @ 4.11.2008, 6:54) [snapback]53578[/snapback]
Я бы строку mysql_query("SET NAMES 'cp1251'"); поставил в метод SelectDB()
В самом его конце.
По идее (я не очень хорошо знаю функции mysql_), именно на этом этапе, после выбора БД, стоит изменять кодировку.


а вот здесь по-подробнее, как конкрентно, теория неприемлема))))

Спустя 1 час, 12 минут, 2 секунды (4.11.2008 - 15:10) Sylex написал(а):
Цитата(Gsmit @ 4.11.2008, 16:58) [snapback]53584[/snapback]
Цитата(Sephiroth_Lukaw @ 4.11.2008, 2:52) [snapback]53573[/snapback]
Если её перед return вставить, неужели не сработает?

каков ваш уровень знаний в MySQL?
Выбор кодировки нужно делать после select


wacko.gif

это почему же?

Спустя 58 секунд (4.11.2008 - 15:11) AndryG написал(а):
Не совсем понял Ваш вопрос -- отвечу расширено - может попаду на то, что Вам интересно.

ПисАл я пару раз с MySQL. Моя простая процедура коннекта соединялась с БД, выбирала базу и устанавливала кодировку.

Не знаю точно критичность порядка, сбрасывается ли кодировка при выборе другой базы или нет, но уверен, что лишний выбор кодировки не будет фатальным :-)

Читать доки было лень, посему я сменял кодировку при каждом выборе БД - маслом кашу не испортить :-)

Куда и как вставить смену кодировки конкретно в Ваш код -- покажите код этого метода -- подумаем.

Спустя 3 часа, 51 минута, 56 секунд (4.11.2008 - 19:03) Sephiroth_Lukaw написал(а):
Цитата(Gsmit @ 4.11.2008, 16:58) [snapback]53584[/snapback]
Выбор кодировки нужно делать после select

Я делаю сразу же после соединения с БД и всё. 1 Раз.

Спустя 2 месяца, 26 дней, 7 часов, 6 минут, 16 секунд (31.01.2009 - 02:09) amberlx написал(а):
После mysql_select_db
делаю mysql_query("SET CHARACTER SET cp1251");

Спустя 3 дня, 20 часов, 24 минуты, 50 секунд (6.02.2009 - 22:34) LoneCat написал(а):
Не, господа, вы парите smile.gif SET NAMES указывает кодировку соединения, ему все равно до выбора конкретной БД или после, так как соединение и до и после одно и тоже.

Спустя 11 часов, 50 минут, 19 секунд (7.02.2009 - 10:24) Sylex написал(а):
LoneCat
я имел ввиду до запроса выборки данных ))


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.