Maciej Los
Короче говоря: вам нужно создать базу данных, которая поддержка символов Юникода[^]
Затем вам нужно внести некоторые изменения в строку подключения:
-
Обработка двоичных блобов как utf8[^]
-
Как сделать Unicode доступным между C# и MySQL | Assembly Force[^]
Примечание: в обоих случаях правильное
параметр строки подключения [
^] должны быть соответственно изменены. Для получения более подробной информации перейдите по приведенным выше ссылкам.
Предупреждение: прежде чем что-либо менять в своей базе данных, создайте резервную копию!!!
Цитата:
(...)
Если вы еще не создали таблицу, вы можете создать ее с помощью следующего оператора.
CREATE TABLE IF NOT EXISTS (ID BIGINT NOT NULL PRIMARY KEY) ENGINE=MyIASM DEFAULT CHRACTER SET=utf8 COLLATE utf8_general_ci;
Этот оператор создаст таблицу с utf8
кодирование и utf8_general_ci
как COLLATE
.
Если вы хотите изменить таблицу для поддержки utf8, вы можете следовать приведенному ниже синтаксису.
ALTER TABLE _table_name_ CHARACTER SET=UTF8 COLLATE=utf8_general_ci;
Подключение к MySQL на языке C#
Есть два пункта, которым вы должны следовать, чтобы подключиться к MySQL и получить доступ к Unicode. Первый шаг-открыть соединение с "Charset=utf8"
, а второй шаг-это выполнить команду с подключением "set names utf8"
. И кодировка чувствительна к регистру, поэтому вы не должны писать ее так, как "UTF8"
или "utf-8"
.
string conn_str = "server=202.117.15.72;uid=username;pwd=password;database=wordbase;Charset=utf8;";
// some other codes…
MySqlConnection conn = new MySqlConnection(connstr);
conn.Open();
MySqlCommand command = new MySqlCommand();
command.Connection = conn;
command.CommandText = "set names utf8";
command.ExecuteNonQuery();
С помощью описанных выше шагов вы можете свободно получить доступ к MySQL с помощью Unicode.
(...)