2017-06-13 87 views
1

如何在SqlServer CE中使用utf8处理字符串?Sql Server紧凑字符串编码

为了节省'±','ê'等语言特殊字符?

@Edit:

我使用的EntityFramework当db是mysqlserver数据有特殊字符,如“A”,“E”,但是当我要等维护的SqlServerCompact丢失数据的特殊字符。

回答

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)和DbType.AnsiStringvarchar)/ DbType.AnsiStringFixedLengthchar

ADO.NET参数