Кодировка Mysql. Проблема с кириллицей.
#1

Здравствуйте. Я знаю, что подобная тема уже была поднята сотни раз, но не один из примеров в гугле мне не помог.
Проблема с кодировкой кириллицы. Всё, что я пробовал не принесло результата.
Заметил одну фишку - если через phpmyadmin задавать текст в поле, то сервер грузит его правильно. Если через сам сервер, то либо ?, либо вообще ничего(пустое поле). Промучился больше дня, а толку никакого.

Плагин от blueg 39-3.
Поля в бд в UTF8 utf8_general_ci.
Хост бд и сервера: Игрохост.

Остановился на вот таком коде после подключения к бд:

mysql_set_charset("cp1251", MysqlId); не работает на хосте. В логе выбивает сообщение:
На локалке работает.
Quote:

[ERROR] CMySQLConnection::SetCharset - error 2019: Can't initialize character set cp1251 (path: /usr/share/mysql/charsets/)
[09:53:02] [ERROR] CMySQLConnection::SetCharset - error 2019: Can't initialize character set cp1251 (path: /usr/share/mysql/charsets/)
[09:53:02] [ERROR] CMySQLConnection::SetCharset - error 2019: Can't initialize character set cp1251 (path: /usr/share/mysql/charsets/)
[09:53:02] [ERROR] CMySQLConnection::SetCharset - error 2019: Can't initialize character set cp1251 (path: /usr/share/mysql/charsets/)

Остановился на вот таком коде, но он не принёс результата.
PHP Code:
mysql_query(MysqlId ,"SET NAMES 'cp1251'",false);
    
mysql_query(MysqlId ,"SET CHARACTER SET 'cp1251'",false);
    
mysql_query(MysqlId ,"SET SESSION collation_connection = 'cp1251_general_ci'",false); // utf8_general_ci пробовал. 
Заранее благодарю за любой ответ.
Reply
#2

Может вам в макдональдс продавцом пойти, программирование видимо не ваше раз вы не смоли найти ответ.
MySQL (F.A.Q.)
Второе сообщение.

По поводу ошибок: проверти права на команду SET.
Reply
#3

Quote:
Originally Posted by Stepashka
View Post
Может вам в макдональдс продавцом пойти, программирование видимо не ваше раз вы не смоли найти ответ.
MySQL (F.A.Q.)
Второе сообщение.

По поводу ошибок: проверти права на команду SET.
Степашка, спасибо за ответ. Я заценил твою шутку, красавчик. В своём репертуаре. Нет, продавцом не нужно идти. Тему почитаю.
Подскажи будущему работнику макдональдса как проверить права на SET ?
Reply
#4

Quote:
Originally Posted by Mexanizm93
View Post
Подскажи будущему работнику макдональдса как проверить права на SET ?
В настройках аккаунта через который вы подключаетесь к базе.
Reply
#5

Quote:
Originally Posted by Stepashka
View Post
В настройках аккаунта через который вы подключаетесь к базе.
Извиняюсь, но я так и не понял какой параметр посмотреть. Я так понимаю посмотреть можно через phpmyadmin в графе "переменные" ? Подскажите, какой параметр именно нужно просмотреть если я прав.
Reply
#6

Проблему решил. Долго пытались решить проблему совместно с тп Игрохоста. Должен отдать должное Ивану, специалисту тп, за грамотные решения и помощь.

Проблема оказалось вот в чём:

При однопоточном запросе set names выполняется не для всех соединений. Получал данные тоже в однопотоке и приходящие строки были пусты. Отправил set names в многопотоке и получил данные в многопотоке. Всё получилось. Не знаю с чем это связано.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)