Sql Server Compact字符串编码

时间:2017-06-13 12:32:02

标签: c# entity-framework sql-server-ce

如何使用utf8对SqlServer CE中的字符串进行勒索?

保存'±','ę'等语言特殊字符?

@Edit:

我使用EntityFramework,当db是mysqlserver时,数据有'ą','''之类的特殊字符,但是当我切换到SqlServerCompact时,数据丢失了特殊的字符。

1 个答案:

答案 0 :(得分:1)

SQL Server CE支持nvarcharntext,它们是UTF-16。基本上:将您的数据存储为nvarchar列中的UTF-16,然后您就可以设置了。方便的是,.NET 主要是UTF-16(charstring类型实现为UTF-16),所以这很好。

如果你绝对必须使用UTF-8,那么你必须使用varbinary / image,这意味着你失去了大部分有用的功能。数据库。您将能够存储和检索,但过滤和其他操作要困难得多。

存储数据时,请确保对文字使用N'foo'语法,或使用DbType.Stringnvarchar)/ DbType.StringFixedLengthnchar的ADO.NET参数}), DbType.AnsiStringvarchar)/ DbType.AnsiStringFixedLengthchar