Ich möchte UTF-8-Standard für mehrsprachige Zeichenfolgen in meine Datenbank verwenden, zum Beispiel möchte ich einige Zeichenfolgen in Russisch einfügen und sie für die spätere Verwendung abrufen. Im Moment bekomme ich ??? Zeichen anstelle von russischen Zeichen in meinem db. Gibt es eine Möglichkeit, meine Datenbank mit mehreren Zeichen zu arbeiten?Multi Sprache Zeichen in SQLite Universal Windows 10
fand ich einige Beiträge über PRAGMA
, aber ich kann es nicht bekommen, so etwas wie:
await Database.ExecuteAsync("PRAGMA encoding='UTF-8'");
I SQLite.Net-PCL bin mit, System.Data.SQLite und SQLite für Universal Windows Platform als Referenzen.
Meine eigentliche Erstellung der Datenbank-Code:
public static string SQL_DB_PATH = Path.Combine(ApplicationData.Current.LocalFolder.Path, "my_db");
public static void createDbMethod() {
using (var conn = new SQLiteConnection(new SQLitePlatformWinRT(), SQL_DB_PATH)) {
try {
// Start transaction
conn.BeginTransaction();
try {
// Execute table creation commands...
conn.CreateTable<MyTableOne>();
conn.CreateTable<MyTableTwo>();
conn.CreateTable<MyTableThree>();
//Commit transaction
conn.Commit();
} catch (Exception ex) {
//handle exception
// Rollback transaction
conn.Rollback();
}
} catch (Exception e) {
//handle exception
} finally {
conn.Close();
}
}
}
EDIT Meine INSERT-Abfrage ist:
public static void executeSqlQuery(string singSqlQuery) {
using (var conn = new SQLiteConnection(new SQLitePlatformWinRT(), SQL_DB_PATH)) {
// Open connection
try {
// Start transaction
conn.BeginTransaction();
try {
// Execute commands...
conn.Execute(singSqlQuery);
// Commit transaction
conn.Commit();
} catch (Exception ex) {
// Rollback transaction
conn.Rollback();
}
} catch (Exception e) {
//handle exception
} finally {
conn.Close();
}
}
}
wo singSqlQuery
ist eine übliche SQL-Abfrage wie: INSERT OR REPLACE INTO my_tab (id,name) VALUES('1','some characters');
Was ist Ihr Datenbankzeichensatz und Sortierfolge? – Rob
Ich bin Anfänger in Windows, ich weiß, dass in Android es automatisch funktioniert, wo kann ich Ihre 'Zeichensatz' und' Kollation' setzen –
Ich bin nicht vertraut mit SQLite, so dass Sie vielleicht hier aussehen: http: // stackoverflow.com/questions/1188749/how-to-change-the-collation-of-sqlite3-database-to-sort-case-insensitively - beachten Sie, dass, wenn dies * die Ursache ist, es bedeutet, dass Ihre ursprünglichen Daten eingefügt wurden und wurde beschädigt, so dass dies nur Ihr Problem für Einfügungen beheben * nach * der Kollation Änderung – Rob