Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Mysql знаки вопроса вместо русских букв  (Прочитано 21405 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Как вместо latin1 сделать все в utf8? гугл меня скоро забанит... :-\

Русское слово записанное через программу JimBot в базу данных сразу становится '?? ?? ??' если посмотреть в базу через phpmyadmin. но если запросить запись из базы через jimbot, то приходит нормальное русское слово. Если JimBot перезапустить, то любой ответ из базы - '?? ?? ??'
Ничего не понимаю..




версия mysql 5.5.28

mysql> show variables like 'char%';
(Нажмите, чтобы показать/скрыть)

/etc/mysql/my.cnf
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 09 Ноября 2012, 00:04:07 от Pl7ofit »
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн Каметон

  • Участник
  • *
  • Сообщений: 214
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #1 : 09 Ноября 2012, 02:14:16 »
Скорее всего, сервер ни при чем. Клиент ведь тоже кодировку определяет. Так что в разных клиентах могут быть проблемы с кодировкой, причем с одной и той же БД.
Если не принципиально, попробуй отказаться от Utf, пиши в старый добрый 1251. Utf до сих пор еще не все понимают.

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1695
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #2 : 09 Ноября 2012, 02:49:12 »
В пыхе все просто решается - mysql_set_charset('utf8');
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн gva230

  • Активист
  • *
  • Сообщений: 981
  • GUI-овый Linuxоид
    • Просмотр профиля
    • Моя дикая страничка
Re: Mysql знаки вопроса вместо русских букв
« Ответ #3 : 09 Ноября 2012, 02:52:58 »
Смените кодировку по-умолчанию для таблиц (сравнение) на правильную - скорее всего UTF-8.
Kubuntu - наше фсё! :Ь

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #4 : 09 Ноября 2012, 04:08:58 »
В пыхе все просто решается - mysql_set_charset('utf8');

По подробнее, где это впилить?)

Пользователь решил продолжить мысль 09 Ноября 2012, 04:43:37:
Смените кодировку по-умолчанию для таблиц (сравнение) на правильную - скорее всего UTF-8.

Не получается, utf8, cp1251
« Последнее редактирование: 09 Ноября 2012, 04:43:37 от Pl7ofit »
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1695
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #5 : 09 Ноября 2012, 04:54:50 »
Pl7ofit, интересует подключение к базе в PHP5? Пожалуйста.

$db = mysql_connect(DB_ADDR, DB_USER, DB_PASS);

if($db) {
  mysql_select_db(DB_NAME);

  if(mysql_errno() == 0) {
    mysql_set_charset('utf8');

    //выполняем запрос к базе, получаем ответ в utf8.
  } else {
    echo(mysql_error());
  }
}
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #6 : 09 Ноября 2012, 09:58:13 »
Pl7ofit, интересует подключение к базе в PHP5? Пожалуйста.

$db = mysql_connect(DB_ADDR, DB_USER, DB_PASS);

if($db) {
  mysql_select_db(DB_NAME);

  if(mysql_errno() == 0) {
    mysql_set_charset('utf8');

    //выполняем запрос к базе, получаем ответ в utf8.
  } else {
    echo(mysql_error());
  }
}
Вот опять эта ошибка :
PHP Warning:  mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in php shell code on line 1
profit@profit-K53SC:~$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Знаешь как это вылечить?
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #7 : 09 Ноября 2012, 10:00:45 »
ls -l /var/run/mysqld/mysqld.sock
ls -dl /var/run/mysqld/
Wars ~.o

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #8 : 09 Ноября 2012, 10:06:07 »
ls -l /var/run/mysqld/mysqld.sock
ls -dl /var/run/mysqld/

Выхлоп:
profit@profit-K53SC:~$ ls -l /var/run/mysqld/mysqld.sock
-rw-r--r-- 1 mysql root 0 нояб.  9 08:59 /var/run/mysqld/mysqld.sock
profit@profit-K53SC:~$ ls -l /var/run/mysqld/mysqld.sock
-rw-r--r-- 1 mysql root 0 нояб.  9 08:59 /var/run/mysqld/mysqld.sock
profit@profit-K53SC:~$ ls -dl /var/run/mysqld/
drwxr-xr-x 2 mysql root 60 нояб.  9 08:59 /var/run/mysqld/
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #9 : 09 Ноября 2012, 10:08:02 »
sudo service mysql restart
sudo service mysql status
Wars ~.o

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #10 : 09 Ноября 2012, 10:10:21 »
sudo service mysql restart
sudo service mysql status

Не запускается:
profit@profit-K53SC:~$ sudo service mysql restart
mysql stop/waiting

profit@profit-K53SC:~$ sudo service mysql status
[sudo] password for profit:
mysql start/post-start, process 30808
post-start process 30810
« Последнее редактирование: 09 Ноября 2012, 10:12:22 от Pl7ofit »
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #11 : 09 Ноября 2012, 10:17:05 »
mysql start/post-start, process 30808
post-start process 30810
процесс два mydql, бгг))
Wars ~.o

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #12 : 09 Ноября 2012, 10:18:27 »
mysql start/post-start, process 30808
post-start process 30810
процесс два mydql, бгг))

И что делать?)
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Mysql знаки вопроса вместо русских букв
« Ответ #13 : 09 Ноября 2012, 10:19:11 »
https://forum.ubuntu.ru/index.php?topic=79590.msg1551137#msg1551137

Пользователь решил продолжить мысль 09 Ноября 2012, 10:20:48:
sudo service mysql stop
sudo service mysql status
sudo service mysql stop
sudo service mysql status
« Последнее редактирование: 09 Ноября 2012, 10:20:48 от victor00000 »
Wars ~.o

Оффлайн Pl7ofit

  • Автор темы
  • Активист
  • *
  • Сообщений: 299
  • U18.04,Ryzen 5 1600,GTX 1050,8GB-DDR4
    • Просмотр профиля
    • vk.com/pl7ofit
Re: Mysql знаки вопроса вместо русских букв
« Ответ #14 : 09 Ноября 2012, 10:24:20 »
Это не помогло:
[mysqld]
character_set_server = utf8

^Cprofit@profit-K53SC:~$ sudo service mysql stop
mysql stop/waiting
profit@profit-K53SC:~$ sudo service mysql status
mysql stop/waiting
profit@profit-K53SC:~$ sudo service mysql stop
stop: Unknown instance:
profit@profit-K53SC:~$ sudo service mysql status
mysql stop/waiting

Вот выхлоп mysqld:

^Cprofit@profit-K53SC:~mysqld --verbose
121109  9:25:00 [Warning] option 'thread_stack': unsigned value 65536 adjusted to 131072
121109  9:25:00 [ERROR] An old style --language value with language specific part detected: /usr/share/mysql/english/
121109  9:25:00 [ERROR] Use --lc-messages-dir without language specific part instead.
121109  9:25:00 [Warning] Can't create test file /var/lib/mysql/profit-K53SC.lower-test
121109  9:25:00 [Warning] Can't create test file /var/lib/mysql/profit-K53SC.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
121109  9:25:00 [ERROR] Aborting

121109  9:25:00 [Note] mysqld: Shutdown complete
« Последнее редактирование: 09 Ноября 2012, 10:31:06 от Pl7ofit »
Добавляйтесь! Steam nick: pl7ofit

Линус над нами.Визин в кармане.Под ногами андроиды.Вперед Linuxоиды!

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.