Unicode-строки в базу данных SQLite
Мне нужна помощь с кодом Visual Studio C # для вставки строк Юникода в базу данных SQLite.
Ниже приведен мой тестовый код для записи тестовой строки в базу данных:
string testStr = "á Á ñ ç é á";
SQLiteConnection mydataConnection = new SQLiteConnection(); // setup new sql connection obj
try
{
//// SQLite DB
mydataConnection.ConnectionString =
"Data Source=C:\\Users\\John\\Desktop\\location.db; Version=3; UseUTF16Encoding=True;Synchronous=Normal;New=False"; // set up the connection string
mydataConnection.Open(); // open the connection to the db
SQLiteCommand myCmd = new SQLiteCommand(); // create a new command object
myCmd.Connection = mydataConnection; // whats its connected to, see above connection string
SQLiteParameterCollection myParameters = myCmd.Parameters; // good pratice to use parameters to pass data to db
myParameters.AddWithValue("@name", testStr); //
myCmd.CommandText = "INSERT INTO location (name) VALUES (@name)";
myCmd.ExecuteNonQuery();
}
catch (SQLiteException d)
{
string myerror = "Database Error" + d;
MessageBox.Show(myerror);
}
finally // good pratice to close db connection in a finally so exceptions dont leave open.
{
mydataConnection.Close();
}
Когда я просматриваю базу данных / таблицу (используя SQLite Administrator), строка выглядит так: & # Xc3; & # xa1; & # Xc3; & # Xc3; & # XB1; & # Xc3; & # xA7; & # Xc3; & # xA9; & # Xc3; & # xa1;
В качестве теста я могу скопировать & amp; вставьте строку непосредственно в базу данных с помощью администратора SQLite, и строка будет сохранена и впоследствии может быть просмотрена в порядке.
Я попытался включить & quot; UseUTF16Encoding = True; & quot; Верно / Неверно - без разницы.
Любые идеи, что я делаю неправильно.