И снова кодировка Mysql

Статус
В этой теме нельзя размещать новые ответы.

Nicca

Новичок
И снова кодировка Mysql

Есть 2 бд.
При запросе и выводе информации выводятся знаки вопроса. Поэтому в самом начале скрипта прописываю:

$sql_1="SET NAMES cp1251";
$res_1=db_select_1($sql_1);

$sql_2="SET NAMES cp1251";
$res_2=db_select_2($sql_2);

где db_select_1 и db_select_2 - соответственно функции которые делают запрос к 1 и 2 бд

В этом случае бд1 выводится знаками вопроса, а бд2 выводится нормально.
Если поменять местами запросы:

$sql_2="SET NAMES cp1251";
$res_2=db_select_2($sql_2);

$sql_1="SET NAMES cp1251";
$res_1=db_select_1($sql_1);

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

Почему так получается?

П.С. База данных 1(аналогично и бд2 только таблицы 3):
Таблиц: 18 Всего 8,606 MyISAM cp1251_ukrainian_ci 797.8 КБ 88 Байт
Сравнение: cp1251_ukrainian_ci
Каждая таблица имеет сравнение cp1251_general_ci

Почему тогда кодировка утф если кругом в таблицах и бд в сравнении стоит cp1251 ??
 

whirlwind

TDD infected, paranoid
дык по логике db_select_x таки не указывает ресурс соединения?
 

Nicca

Новичок
Вот моя функция

PHP:
дык по логике db_select_x таки не указывает ресурс соединения?
А как его правильно указать и зафиксировать? Вот моя функция:

function db_select2($sql)
{
$connection = @mysql_connect('localhost', 'root', '');
$db = @mysql_select_db('baza', $connection);
$result = @mysql_query($sql,$connection);
return $result;
}

Вот настройки системных переменных:

collation connection utf8_unicode_ci
collation database utf8_unicode_ci
collation server utf8_unicode_ci
 

SiMM

Новичок
Апофегей - а нафига делать connect при каждом запросе, даже если скрипт не завершал своей работы?
 

Фанат

oncle terrible
Команда форума
и все в собаках.

Nicca
идем, читаем документацию [m]mysql_connect[/m]
и делаем по-человечески, без отсебятины.

о выполнении доложить
 

Nicca

Новичок
Докладываю!
PHP:
$connection = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('baza1');
 function db_select($sql)
 {
 	global $connection;
    return mysql_query($sql,$connection);
 }

$connection2 = mysql_connect('localhost', 'root2', '');
$db2 = mysql_select_db('baza2'); 
 
function db_select2($sql)
 {
    global $connection2;    
    return mysql_query($sql,$connection2);
 }
$sql="SET NAMES cp1251";
$res=db_select($sql);

$sql2="SET NAMES cp1251";
$res2=db_select2($sql2);
Проблема была в том что при любом запросе постоянно подключался и выбирал базу (лишняя нагрузка) + кодировка сбивалось из-за того что менялось подключение.
Вобщем все нормально. Работет

Дневник на стол, 5
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Тема закрыта.

.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху