mysql ошибка #1366 - Incorrect string value: - не записывается русский текст

Forums:

Cкорее всего эта ошибка связана с неверной кодировкой передаваемых в базу данных.
а точнее - настройки базы данных (или таблицы) не соответствуют кодировке передаваемых данных.

Если кодировка базы данных и таблиц в ней задана корректно, то откройте конфигурационный файл MySQL my.ini
в нём должно значится (в секторе [mysqld]):

[mysqld]
...
....
.....
character-set-server=utf8

также добавьте сразу после этой строки порядок "сравнения/сличения" по -умолчанию (например = utf8_unicode_ci):

collation-server=utf8_unicode_ci

Если же там написано что-то вроде:

character-set-server=latin1

то исправьте))

Если предыдущее не помогло

Если предыдущее не помогло, то следует убедится, что collation (порядок сравнения) для текстовых столбцов выставлен именно в той кодировке, которая нам нужна.

Именно collation для столбца - в моём случае оказался виновником проблем ))

При создании таблицы порядок сравнения указывается в конце команды, например так:

CREATE TABLE `message` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`user_id` INT(11) NULL DEFAULT '1',
	`text` VARCHAR(500) NULL DEFAULT NULL,
	`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
	`image_id` INT(10) NULL DEFAULT '1',
	`title` VARCHAR(120) NULL DEFAULT '[\'no title\']',
	`ps` VARCHAR(120) NULL DEFAULT 'no pips - machines only =) ',
	`type` VARCHAR(120) NULL DEFAULT '0',
	`time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
	PRIMARY KEY (`id`),
	INDEX `user_id` (`user_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=20;

Источник:
Помог комментарий к этой заметке = http://nemcd.com/2010/03/mysql-warning-1...

Key Words for FKN + antitotal forum (CS VSU):