[英]MySQL. Can't insert russian characters into column with a type VARCHAR(45)
嘗試在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'
找不到解決此問題的方法。 我希望有人知道解決方案。
謝謝!
該表的CHARACTER SET
是該表中列的默認設置 。 請提供SHOW CREATE TABLE
以便我們可以驗證列設置為什么。
客戶端中字節的編碼是什么? cp1251
與utf8
不同; utf8mb4
== utf8
(俄語)。
事情以什么方式不好? 根據症狀,看到這對其他可能被錯誤地設置具體的提示。
也許是您對NVARCHAR
所做的更改導致在列上強制使用CHARACTER SET utf8
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.