尝试在MySQL(Workbench)中执行此行时遇到问题:
INSERT INTO classification (`Type`, `Subtype`) VALUES ("тип", "подтип");
我试图为表classification
设置不同的字符集:cp1251,utf-8,utf8mb4,cp1251_bin。
这是一个包含我在我的数据库中找到的所有字符集的表,也许它会对你有所帮助:
UPD。我找到了解决方案。但是,我不得不更改我的表,所以现在表risk
是一个已编辑的表classification
。 SHOW CREATE TABLE risk
的结果是:
'CREATE TABLE `risk` (
`IdRisk` int(11) NOT NULL AUTO_INCREMENT,
`IdSubtype` int(11) DEFAULT NULL,
`Content` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`IdRisk`),
KEY `FK_subtype_risk_idx` (`IdSubtype`),
CONSTRAINT `FK_subtype_risk` FOREIGN KEY (`IdSubtype`) REFERENCES `subtype` (`IdSubtype`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=latin1'
无法找到此问题的解决方案。我希望有人知道解决方案。
谢谢!
答案 0 :(得分:1)
表格的CHARACTER SET
是表格中列的默认。请提供SHOW CREATE TABLE
,以便我们验证列的设置。
客户端中字节的编码是什么? cp1251
与utf8
不同;俄语utf8mb4
== utf8
。
事情以什么方式糟糕?根据症状,请参阅this,了解有关其他可能设置错误的具体提示。
也许是您对NVARCHAR
的更改强制CHARACTER SET utf8
列?