1

Тема: Смена кодировки соединения в MySQL

Подскажите, как запросом изменить кодировку сервера с latin1 на cp1251?

2

Re: Смена кодировки соединения в MySQL

mark1983

Подскажите, как запросом изменить кодировку сервера с latin1 на cp1251?

Кодировку сервера можно задавать либо при компиляции сервера, либо при запуске сервера с помощью следующего параметра: -defaultcharacter-set. Например, --default-character-set=cp1251

3

Re: Смена кодировки соединения в MySQL

А запросом изменить никак? Я вставил строку default-character-set, перегрузил сервер, но изменения не произошло. А теперь у меня вообще вот такое сообщение:

Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='

Это вообще лечится как-нибудь? smile

4

Re: Смена кодировки соединения в MySQL

mark1983

Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
Это вообще лечится как-нибудь?

сразу после mysql_connect:
mysql_query('SET @@collation_connection = @@collation_database');

5

Re: Смена кодировки соединения в MySQL

Сделал как написано. Всё равно вылезает эта ошибка sad

6

Re: Смена кодировки соединения в MySQL

КОроче надо изменить кодировку, выдаваемую функцией mysql_client_encoding() smile

7

Re: Смена кодировки соединения в MySQL

mark1983
В самом начале скрипта:

$connect = mysql_connect ("localhost", "user", "pass") 
or die(sendError('Could not connect to database'));
mysql_select_db ("dbName");
mysql_query("SET CHARACTER SET 'cp1251'", $link);
Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

8

Re: Смена кодировки соединения в MySQL

Заработало, но как-то криво smile) в скрипте верные данные )по-русски, а на сервере вот такая строчка не исполняется:
drop table if exists es_users;

Таблица es_users существует и, по идее, должна быть удалена... во всяком случае так раньше было. SQL пишет сообщение на кракозябре какой-то.... в общем ничего понять не могу. Это я у себя на локалке отлаживаю, а что же на серваке делать польователям?... В общем, куча вопросов такого плана.