簡體   English   中英

MySQL的。 無法將俄語字符插入類型為VARCHAR(45)的列中

[英]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以便我們可以驗證列設置為什么。

客戶端中字節的編碼是什么? cp1251utf8不同; utf8mb4 == utf8 (俄語)。

事情以什么方式不好? 根據症狀,看到其他可能被錯誤地設置具體的提示。

也許是您對NVARCHAR所做的更改導致在列上強制使用CHARACTER SET utf8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM