2016-11-24 46 views
0

我在我的MVC網站上有一個表單,允許用戶輸入表情符號作爲他們提交的文本的一部分。MySQL和ASP MVC - 存儲表情符號

我的MySQL 5.6數據庫的主要設置爲UTF-8,但在接受該數據表我已經設置了現場和表:

字符集:utf8mb4

整理:utf8mb4_unicode_ci

然而,當我插入數據時,我可以在進入表格的位置看到它將表情符號字符編碼爲?????。所有其他標準文本保持不變。

我錯過了什麼?我見過這樣的文章,我用它來引導我:http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/

任何幫助將不勝感激!

感謝

+1

的可能的複製[如何在mysql中插入utf-8 mb4字符(在ios5中表情符號)?](http://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in -mysql) –

+0

@JamesP謝謝。實際上有兩件事。數據庫託管在谷歌雲端sql,並且'character-set-server'在谷歌的控制檯中設置。 – scgough

+0

請提供'SHOW CREATE TABLE'。 –

回答

0
ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4; 

首先連接編碼設置爲utf8mb4,然後更改數據庫的字符集和校對它: -

SET NAMES utf8mb4; 
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; 

接下來,我們需要相關的錶轉換爲utf8mb4/utf8mb4_unicode_ci(您需要爲每個表運行此操作): -

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 

(與數據庫表的名稱替換表名)。

最後,我們需要更新的列(S)的字符集和校對規則: -

ALTER TABLE table_name CHANGE column_name column_name VARCHAR(140) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL; 

Based on linky from here, credit to my carter