繁体   English   中英

C#sqlite编码utf8

[英]c# sqlite encoding utf8

我有一个非常奇怪的问题(我已经搜索过-这是一个常见问题,但是我找不到任何有效的解决方案)。

我正在使用C#(.net 4.0)和SQLite。 Pragma编码向我显示了UTF8,所以我想以这种编码保存数据。 我试图使用这样的东西:

     private String ToUTF8(string input) {

        Encoding ecdng = Encoding.Default;

        byte[] bts = ecdng.GetBytes(input);
        ecdng = Encoding.UTF8;
        return ecdng.GetString(bts, 0, bts.Length);
        //return input;
    }

    private String FromUTF8(string input)
    {

        Encoding ecdng = Encoding.UTF8;

        byte[] bts = ecdng.GetBytes(input);
        ecdng = Encoding.Default;
        return ecdng.GetString(bts, 0, bts.Length);
        //return input;
    }

但这不起作用。 当我要保存数据时使用ToUTF8,而在选择数据时使用FromUTF8。

我发现的第二个解决方案是:

        private IDbDataParameter AddParameter(IDbCommand command, string paramName, DbType type, object value)
    {
        IDbDataParameter parameter = command.CreateParameter();
        parameter.ParameterName = paramName;
        parameter.DbType = type;
        if (value != null)
            parameter.Value = value;
        else
            parameter.Value = DBNull.Value;
        command.Parameters.Add(parameter);
        return parameter;
    }

但它也不起作用。

我想在我的数据库中存储波兰语单词。 当我通过SQLiteStudio预览数据时,我用奇怪的符号代替了波兰字母。 在程序中,我有同样的问题,但波兰语字母上有其他符号。

谁能帮我这个?

最好的问候,马特。

解决了。 我从文件读取数据-使用ReadAllLines和UTF8编码,当我更改为默认值时,我会使用波兰字母:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM