如何使用utf8对SqlServer CE中的字符串进行勒索?
保存'±','ę'等语言特殊字符?
@Edit:
我使用EntityFramework,当db是mysqlserver时,数据有'ą','''之类的特殊字符,但是当我切换到SqlServerCompact时,数据丢失了特殊的字符。
答案 0 :(得分:1)
SQL Server CE支持nvarchar
和ntext
,它们是UTF-16。基本上:将您的数据存储为nvarchar
列中的UTF-16,然后您就可以设置了。方便的是,.NET 也主要是UTF-16(char
和string
类型实现为UTF-16),所以这很好。
如果你绝对必须使用UTF-8,那么你必须使用varbinary
/ image
,这意味着你失去了大部分有用的功能。数据库。您将能够存储和检索,但过滤和其他操作要困难得多。
存储数据时,请确保对文字使用N'foo'
语法,或使用DbType.String
(nvarchar
)/ DbType.StringFixedLength
(nchar
的ADO.NET参数}),不 DbType.AnsiString
(varchar
)/ DbType.AnsiStringFixedLength
(char
)