2015-09-30 30 views
0

我是MySQL的新用戶。 我有一列存儲Unicode characterMySQL表中。不正確的字符串值:' xF0 x9F x92 x8F x0A#... for mysql中的列?

我從twitter,facebook等得到的職位和 插入text/symbol「是」到表格的代碼。

CREATE TABLE `tbl_unicode` (
    `_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, 
    `first_name` varchar(45) NOT NULL, 
    `uninoce_Column` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, 
    PRIMARY KEY (`_id`) 

) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8; 


/* This query WONT work due to SYMBOL: */ 
INSERT INTO `tbl_unicode` 
    (`_id`, 
    `first_name`, 
    `uninoce_Column`) 
VALUES 
    (2, 
    'rakesh', 
    '最高の休日 
#京都#宮津#天の橋立#'); 


/* This query WORKS FINE */ 
INSERT INTO `tbl_unicode` 
    (`_id`, 
    `first_name`, 
    `uninoce_Column`) 
VALUES 
    (1, 
    'shekhar', 
    '最高の休日 
#京都#宮津#天の橋立#'); 
enter code here 

Live Demo in SQLFiddle

所以,它的數據類型或配置應該怎樣做才能使其發揮作用。

有什麼建議嗎?

回答

-2

nvarchar用作表格字段的數據類型。 varchar只存儲8位字符,而nvarchar也存儲unicode字符。

+0

我們在MYSQL中有nvarchar嗎? –

+0

不,這是一個Microsoft SQL Server數據類型。它在MySQL中不存在。 – duskwuff

3

CHARACTER SET UTF8

MySQL的utf8字符集是不是UTF-8。那太簡單了!相反,它是UTF-8的一個有限子集,其中只支持代碼指向U + 00FFFF,可以存儲在三個UTF-8字節中。是U + 01F48F,所以它不適合表格的字符集。

real UTF-8字符集在MySQL(5.5及更高版本)中已知爲utf8mb4

+0

如何設置? 。 – user1735921

相關問題