我正在创建C#wpf应用程序,并且正在使用SQLite数据库存储数据(sqlite3.dll库)。我来自斯洛文尼亚,所以我需要存储包含ščćžđ这样的字符的字符串。当查询如下时,我可以成功存储数据并设置dataGrid itemsSource:

List<Odgovor> list = AppData.DBObject.Query<Odgovor>("select * from Odgovor");
            ObservableCollection<Odgovor> odgovorList = new ObservableCollection<Odgovor>(list);
            this.dataGridOdgovor.ItemsSource = odgovorList;

当我查询成功
"select * from Odgovor where PersonName = \"Nick\"";

但是当我执行此查询时(我的数据库中有数据,因此这是SQLite编码问题),我没有任何回想。
"select * from Odgovor where PersonName = \"Saša\"";

到目前为止,我找不到解决方案。我找不到sqlite如何替换特殊字符,以便我可以替换代码中的每个特殊字符...但是我相信有更漂亮的解决方案:)

最佳答案

1)尝试使用参数代替文字。数据库连接器应确保正确的字符编码。

看到这个链接:Adding parameters in SQLite with C#

2)您也可以尝试如下所示的编码方法:

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/c1d98352-25a5-4ec4-8637-339fcee3715c/

09-04 20:37