C#以utf8编码将字符串post到sqlilte
我将包含Ö和Ş的数据发布到sqlite。我在调试状态下共享一小部分代码C#以utf8编码将字符串post到sqlilte,c#,sqlite,utf-8,C#,Sqlite,Utf 8,我将包含Ö和Ş的数据发布到sqlite。我在调试状态下共享一小部分代码 queryString = "INSERT INTO " + LOCALDB_USER_TABLE_NAME + " (Username, UpdateTime, IpAddr, Synced) VALUES ('" + userName + "', '" + timestamp + "', '" + IPAddr + "', '" + synced + "')
queryString = "INSERT INTO " + LOCALDB_USER_TABLE_NAME +
" (Username, UpdateTime, IpAddr, Synced) VALUES ('" +
userName + "', '" + timestamp + "', '" + IPAddr + "', '" + synced + "')";
_sourceDB.ExecuteNonQuery(queryString);
我在VisualStudio中打开即时窗口并简单地键入这些内容。在这里,我在utf8中添加Ş和Ü字符以手动插入语句
INSERT INTO adusers (Username, UpdateTime, IpAddr, Synced) VALUES ('CŞŞŞŞŞööööÖÜÜÜb', '2015-11-17T19:16:39.859434200Z', '192.168.0.7', '1')
我在stackoverflow中搜索笑脸问题,并在I.w.中尝试此操作:
byte[] bytes = System.Text.Encoding.Default.GetBytes(queryString);
Expression has been evaluated and has no value
queryString = System.Text.Encoding.UTF8.GetString(bytes);
下面是查询字符串在即时窗口中的外观:
INSERT INTO adusers (Username, UpdateTime, IpAddr, Synced) VALUES ('CSSSSS��������b', '2015-11-17T19:16:39.859434200Z', '192.168.0.7', '1')
sqlite studio中的数据行看起来也一样,所以这就是问题所在(我可以在studio中将utf8字符添加到sqlite数据库中)。我必须做的事情和查询字符串应该在utf8中使用正确的字符发布数据sqlilte。数据库驱动程序会自动在
字符串的编码和UTF-8之间转换。不要手动重新编码。数据库驱动程序会自动在字符串的编码和UTF-8之间转换。不要手动重新编码。