SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.06.2009 16:34:56

Константин
Участник
Зарегистрирован: 13.06.2009
Сообщений: 2

почему установка character-sets-dir не дает эффекта?

При вызове mysql_set_charset("cp1251") получаю ошибку:

Can't initialize character set cp1251 (path: C:\mysql\\share\charsets\)

При этом клиент mysql.exe прекрасно справляется с командой "SET NAMES CP1251".

В my.ini прописано:

[mysql]
character-sets-dir="C:/Program Files/Zend/MySQL51/share/charsets"
default-character-set=cp1251
[mysqld]
character-sets-dir="C:/Program Files/Zend/MySQL51/share/charsets"
default-character-set=cp1251

Почему же MySQL сервер обращается за кодировками в каталог C:\mysql\\share\charsets\  при запросе, идущем из PHP?

Неактивен

 

#2 15.06.2009 21:08:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: почему установка character-sets-dir не дает эффекта?

Потому что php != mysql smile

Попробуйте заменить в my.ini (том, который читает php) [mysql] на [client], это название подойдет
под любой клиент (если, конечно, php читает этот раздел вообще).

Неактивен

 

#3 19.06.2009 18:42:18

Константин
Участник
Зарегистрирован: 13.06.2009
Сообщений: 2

Re: почему установка character-sets-dir не дает эффекта?

Вы считаете, что PHP сервер передает MySQL серверу путь, ведущий к директории с кодировками?

Последовав совету, добавил строчку charsets-dir в раздел [client] файла my.ini, принадлежащем MySQL серверу, но это не помогло.

На всякий случай приведу пример скрипта:

<?php   
      $db = mysql_connect("localhost", "first", "password") or die(mysql_error());
      mysql_set_charset("cp1251") or die(mysql_error());      
?>

Второй die(mysql_error()) и выдает Can't initialize character set cp1251 (path: C:\mysql\\share\charsets\).

Отредактированно Константин (19.06.2009 18:47:40)

Неактивен

 

#4 19.06.2009 19:11:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: почему установка character-sets-dir не дает эффекта?

Я считаю, что серверу это совсем не нужно. Кодировка нужна php, а не серверу (сравните с
mysql_query("SET NAMES cp1251") — она должна отработать без ошибок).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson