Как хранить Unicode в MySQL? - PullRequest
       53

Как хранить Unicode в MySQL?

36 голосов
/ 25 июля 2010

Как хранить Unicode в бесплатной версии MySQL?

Кажется, что нет типа nvarchar, как в SQL Server. Unicode не поддерживается в MySQL? Я пытался использовать text, но это тоже не работает.

Ответы [ 6 ]

26 голосов
/ 25 июля 2010

Вам нужно выбрать utf8_* набор символов для вашей таблицы.Текстовые и мемо поля будут автоматически сохранены в UTF-8.Поддержка UTF-16 появится в MySQL 6.

19 голосов
/ 25 июля 2010

Набор символов для данного строкового столбца (CHAR, VARCHAR или *TEXT) определяется его набором символов и / или сопоставлением . Это довольно напряженная тема, поэтому лучше прочитать документацию, на которую я ссылаюсь. Например:

CREATE TABLE t1
(
    col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci
)

создаст таблицу t1 с col1, которая хранит свое содержимое в кодировке UTF-8.

2 голосов
/ 28 ноября 2015

Используйте этот запрос

alter table `DBNAME`.`TblName`  Engine=InnoDB checksum=1 comment='' delay_key_write=1 row_format=dynamic charset=utf8 collate=utf8_unicode_ci 
2 голосов
/ 12 декабря 2013

Я придерживаюсь своего собственного стиля кодирования, поэтому, пожалуйста, примите это во внимание, следуя моему примеру.

Сначала я создал базу данных MySql.

после создания базы данных в командной строке mysql введите команду:

SET NAMES = UTF8;

Таблица и столбцы для хранения Unicode должны быть установлены со свойством сортировки как utf8-utf_general_ci. Каждый столбец, предназначенный для хранения Юникода, должен быть выбран и установить для свойства сопоставления значение utf8-utf_general_ci.

Теперь в C #.

моя строка подключения установлена ​​как обычно, но с добавлением одного атрибута, подобного этому:

constring = @"SERVER=localhost;" + @"PORT=3306;" + @"DATABASE=gayakidb;" + @"UID=root;" + @"PASSWORD=mysql;" + @"charset=utf8;";

Далее, установлен шрифт Unicode в «Настройка языка отображения» вашей операционной системы. Или вы можете скопировать и вставить файл шрифта (файл истинного типа) в папку «Шрифты» операционной системы.

Затем я установил свойство шрифта объекта textbox или любого другого объекта инструмента на странице свойств.

Более того, если вам нужно набирать шрифт Unicode с помощью клавиатуры, вам необходимо установить язык Unicode для раскладки клавиатуры. Это можно сделать с помощью опции региональных настроек языка вашей операционной системы.

Готово. с этими настройками я запрограммировал модуль для сохранения данных и во время работы ocde успешно выполнил свою работу.

2 голосов
/ 25 июля 2010

Вы пробовали устанавливать имена после подключения? Каков был результат попытки хранения символов Юникода? Подключитесь к серверу mysql и введите:

SET NAMES UTF8;

Это должно включить «поддержку» для utf8. Затем попробуйте сохранить данные utf.

1 голос
/ 25 июля 2010
  • MySQL поддерживает UTF-8.
  • Используйте varchar и установите кодировку для столбца (это довольно просто в phpMyAdmin)

http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html - думаю, это может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...