Проблема со сменой кодировки соединения Мускуля (PHP).

Spell
На сайте с 14.07.2006
Offline
72
676

Ребята, нужна ваша помощь. Проковырялся полтора часа, самостоятельно решить не могу, нашел три способа решить проблему, но все напрасно.

В общем имеется соединения с БД через функцию:


function ifbdb_mysql_connect () {
if ( true == ( $mysql_handler = @mysql_connect ( MYSQL_IP, MYSQL_LOGIN, MYSQL_PASS ) ) ) { // Соединяемся
if ( true == ( @mysql_select_db ( MYSQL_DB ) ) ) { // Выбираем базу данных
$back = $mysql_handler; // Если нет ошибок - передаем хендлер
} else {
$back = 0; // Ошибка
}
} else {
$back = 0; // Ошибка
}

return $back; // Передаем результат
}

Потом делаю запрос, и вижу что в БД данные попали уже в виде знаков вопросов.

Ну, проблема в кодировке. Проверил БД - cp1251, данные отправляются тоже в cp1251.

Проверил кодировку соединения:


echo mysql_client_encoding ( $mysql_handler );

Показало что соединение в latin1.

Пытаюсь сменить кодировку:


mysql_set_charset ( 'cp1251', $mysql_handler );

И вот результат: Can't initialize character set cp1251 (path: C:\mysql\\share\charsets\)

При смене кодировки на utf8 все нормаль, меняется, на cp1250 тоже.

Пробовал сменить другими способами - тоже самое, никак.

(Сейчас отписался админу, который настраивал мне сервер, прошу чтоб сменил соединения по умолчанию на cp1251, но его пока нет.)

В чем может быть проблема? Нужно как-то решить. Впервые с таким столкнулся.

K
На сайте с 29.04.2008
Offline
74
#1

поддержка кодировки не установлена в мускуле.. пишите хостеру-админу - только они могут поправить если нет доступа к управлению мускулом

Open Source Danneo CMS (http://nafn.ru)
Spell
На сайте с 14.07.2006
Offline
72
#2

Та доступ есть, вот только я не в курсе как и что нужно делать.

Спасибо за ответ.

Spell добавил 15.06.2010 в 09:37

Как временное решение - передача данных в utf8 через соединение в utf8.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий