@bychok300

Поддержка кириллицы в MySQL, как добавить?

пытаюсь настроить sql сервер, ничего не выходит.
установил в конфигурационный файл
skip-character-set-client-handshake
character-set-server = utf8
init-connect='SET NAMES utf8'
collation-server=utf8_general_ci


вод вывод из MySQL
mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using  EditLine wrapper

Connection id:		7
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.15-0ubuntu0.16.04.1 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/run/mysqld/mysqld.sock
Uptime:			26 min 0 sec

Threads: 5  Questions: 48  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 32  Queries per second avg: 0.030
--------------
mysql> show VARIABLES LIKE '%CHAR%'; 
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0,01 sec)
mysql> show VARIABLES LIKE '%Coll%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0,00 sec)

при добавление в таблицу такого значения:
mysql> INSERT INTO content (id, html) VALUES ( 2, 'привет');
ERROR 1366 (HY000): Incorrect string value: '\xD0\xBF\xD1\x80\xD0\xB8...' for column 'html' at row 1

гугли эту ошибку, ни нагуглил ничего, что бы помогло
  • Вопрос задан
  • 6891 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ALTER TABLE `content` CONVERT TO CHARACTER SET = utf8;

И новые таблицы надо сразу создавать в utf8.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik
Доброй ночи.
Проверьте, чтобы везде была одна кодировка, не ограничивайтесь только mysql.
Кодировка сервера, файлов, сравнение таблиц и полей таблиц, соединение с базой и т.д. и т.п.
В какой кодировке сам текст получаете, перед тем как записать в базу?
Всё должно быть в одной кодировке.
Если текст, например, в кодировке отличной от utf8 - могут быть проблемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы