-1
Я пытаюсь вставить строку в MySQL из узла с помощью mysql2 драйвера, и я получаю следующее сообщение об ошибке:Mysql ошибка кодирования
running query \"INSERT INTO outgo (name, monthIdMonth, type, distribution, recurrent, amount) VALUES ('Penalizări', (select MAX(idMonth) from `month`), '3', '1', '1', '0');\"
failed: Error: Incorrect string value: '\\xC4\\x83ri' for column 'name' at row 1
В таблице опережать создается так:
CREATE TABLE IF NOT EXISTS `outgo` (
`idOutgo` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`apartmentsGroupIdApartmentsGroup` INT UNSIGNED NULL,
`outgoColumnInfoIdOutgoColumn` INT UNSIGNED NULL,
`metering` ENUM('NONE','COLD_WATER','HOT_WATER','OTHER') NULL,
`distribution` ENUM('MANUAL','PERSON','APARTMENT','SURFACE','CONSUMPTION', 'AUTOMATED','HEAT_SURFACE') NULL,
`amount` DOUBLE(14,2) NULL,
`cAmount` DOUBLE(14,2) NULL,
`costPerUnit` DOUBLE(15,3) NULL,
`unit` VARCHAR(5) NULL,
`quantity` DOUBLE(14,2) NULL,
`diffs` DOUBLE(14,4) NULL,
`recurrent` TINYINT(1) NOT NULL DEFAULT 0,
`monthIdMonth` INT UNSIGNED NOT NULL,
`type` ENUM('GENERAL','REMAINING','PENALITY') NOT NULL DEFAULT 'GENERAL',
`billIdBill` INT UNSIGNED NULL,
ENGINE = InnoDB;
Любая идея, в чем проблема? Строка, на которую он жалуется, это: «Penalizări». схема кодирования utf8 ....
показать 'SHOW CREATE TABLE' для' outgo'. И какова кодировка соединения? – zerkms
Я не указываю кодировку соединения. Как я мог узнать? Это то, что команда «locale» возвращает на linux? – Petru
Вы можете показать код, используемый для вставки строки? –