我有一个非常奇怪的问题(我已经搜索过 - 这是一个常见的问题,但我找不到任何有效的解决方案) .
我正在使用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预览数据时,我用奇怪的符号代替抛光字母 . 在程序中我有同样的问题,但在波兰字母上的其他符号 .
谁能帮我这个?
最诚挚的问候,马特 .
1 回答
解决了 . 我从文件中读取数据 - 使用带有UTF8编码的ReadAllLines,当我更改为默认值时,我有波兰语字母:)