2016-11-24 11 views
0

私はMVCのウェブサイト上にフォームを作成して、ユーザーが投稿したテキストの一部として絵文字を入力できるようにしています。MySQLとASPのMVC - 絵文字の保存

は私のMySQL 5.6データベースは、主にUTF8に設定されているが、このデータを受け取り、テーブルの上に私がするフィールドとテーブルを設定している:

文字セット: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文字(emoji in ios5)を挿入する方法?](http://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in -mysql) –

+0

@ JamesPありがとうございます。実際には2つのことのビット。 dbはgoogle cloud sqlでホストされ、 'character-set-server'はGoogleのコンソールに設定されています。 – 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; 

(データベーステーブルの名前でTABLE_NAMEを交換する。)

最後に、我々は、カラム(複数可)の文字セットと照合を更新する必要があります -

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

関連する問題