As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center 指导。




8年前关闭。




我一直在使用 Windows 8 应用程序上的 Sqlite 数据库。(Sqlite for Windows Runtime)
插入数据库时​​的土耳其语字符问题。
我该如何解决这个问题。你能帮助我吗?
非常感谢你。
简单的来。
using (var db = new SQLite.SQLiteConnection(App.DbPath))
    db.Execute("Insert Into Stock (Name) Values('ŞşİıĞğ')");

我试试这个,但结果 -> ÞþÝýÐð
string a = "ŞşİıĞğ";
string b = string.Empty;
byte[] utf8Bytes = Encoding.UTF8.GetBytes(a);
b= Encoding.UTF8.GetString(utf8Bytes, 0, utf8Bytes.Length);

using (var db = new SQLite.SQLiteConnection(App.DbPath))
    db.Execute("Insert Into Stock (Name) Values('"+ b +"')");

最佳答案

最有可能的问题是您的列无法正确处理 UTF-16(unicode)(可能是客户端 API)。最安全的选择是在客户端转换为/从 utf-8,然后读/写到数据库。
System.Encoding.UTF8 具有所有魔力。

关于c# - 不将土耳其字符 Window 8 应用程序插入到 Sqlite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15829441/

10-17 00:23