2016-11-24 2 views
0

У меня есть форма на моем веб-сайте MVC, которая позволяет пользователю вводить символы emoji в качестве части текста, который они отправляют.MySQL и ASP MVC - Сохранение символов Emoji

Моя MySQL 5.6 базы данных в первую очередь устанавливается в UTF8, но на столе, который принимает эти данные я установить поле и в таблице:

Character Set: utf8mb4

Collation: utf8mb4_unicode_ci

Однако , когда я вставляю данные, я вижу, что в точке входа в таблицу он кодирует символ эможи в качестве ?????. Все остальные стандартные тексты остаются нетронутыми.

Я ничего не пропустил? Я видел такие статьи, которые я использовал для руководства: http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/

Любая помощь была бы принята с благодарностью!

Благодаря

+1

Возможный дубликат [Как вставить символ utf-8 mb4 (emoji в ios5) в mysql?] (Http://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in -mysql) –

+0

@JamesP спасибо. На самом деле это две вещи. 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

 Смежные вопросы

  • Нет связанных вопросов^_^