J'ai un problème d'encodage avec la requête de SQLite.Net. Tout fonctionne bien si je n'utilise que les noms de colonnes dans le SQL String, mais si j'écris le SQL moi-même, tous les caractères spéciaux comme ä, ü, ö, ß ne seront pas encodés correctement. Voici deux exemples simples, l'un fonctionnant, l'autre non.WPU SQLite.Net.SQLiteConnection.Query problème d'encodage
public class ass {
[PrimaryKey, AutoIncrement]
public int _id { get; set; }
[MaxLength(255)]
public string sortname { get; set; }
}
dbConn = new SQLiteConnection(new SQLitePlatformWinRT("testpasswort"),DB_PATH);
dbConn.CreateTable<ass>(SQLite.Net.Interop.CreateFlags.None);
//add a test entry with special chars
ass asss = new ass();
asss.sortname = "oe=öae=äszett=ß";
dbConn.Insert(asss);
//now select the test entry to an ass object
List<ass> getass = dbConn.Table<ass>().ToList<ass>();
//the list is filled and sortname = "oe=öae=äszett=ß"
//now fake a object with
List<ass> sqlass = dbConn.Query<ass>("SELECT 'oe=öae=äszett=ß' as sortname FROM ass").ToList<ass>();
//the List is filled and sortname = "oe=�ae=�szett=�"
Je sais que la requête est inutile et cela devrait fonctionner:
List<ass> sqlass = dbConn.Query<ass>("SELECT sortname as FROM ass").ToList<ass>();
Mais le problème est que le Funktion .query ont un problème d'encodage, cela ne fonctionnera pas:
List<ass> sqlass = dbConn.Query<ass>("SELECT sortname FROM ass WHERE sortname LIKE '%ä%'").ToList<ass>();
Mais cela fonctionnera:
List<ass> sqlass = dbConn.Query<ass>("SELECT sortname FROM ass).ToList<ass>().Where(v => v.sortname.Contains("ä"));
chaque fois que j'ai un caractère spécial dans le sqlcode cela ne fonctionnera pas, cela est fatal pour mes besoins, parce que j'ai beaucoup de remplacer (colonne, trouver, remplacer) et toutes échouent si la chaîne find or replace contient ü, ö, ä [...]
Est-ce que quelqu'un savait comment faire?
Avez-vous essayé d'utiliser des paramètres quelque chose comme ceci 'Liste sqlass = dbConn.Query ("SELECT sortname DE ass OU COMME sortname?", @ "A") ToList ().' –
jomsk1e