Unicode-Zeichenfolgen in eine SQLite-Datenbank
Ich möchte etwas Hilfe mit meinem Visual Studio C # -Code beim Einfügen von Unicode-Zeichenfolgen in eine SQLite-Datenbank.
Unten ist mein Testcode zum Schreiben einer Testzeichenfolge in die Datenbank:
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();
}
Beim Anzeigen der Datenbank / Tabelle (mit SQLite Administrator) sieht die Zeichenfolge folgendermaßen aus:
Als Test kann ich die Zeichenfolge mit SQLite Administrator kopieren und direkt in die Datenbank einfügen. Die Zeichenfolge wird gespeichert und kann anschließend in Ordnung angezeigt werden.
Ich habe versucht, "UseUTF16Encoding = True;" Richtig / Falsch - kein Unterschied.
Irgendwelche Ideen, was ich falsch mache.