cit*_*nas 5 c# sql-server asp.net sql-server-2008 entity-framework-4
我想向我的实体框架数据库应用程序添加 utf8 支持 (sql server 2008 r2)
我想我需要将字符集添加到连接字符串中。
这就是我的connectionString的工作原理(当然是匿名的)
<add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string="Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
我查看了connectionstrings.com,但没有发现任何有关utf8 的信息。
我尝试添加charset=utf8,但这并没有解决问题。
<add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string="Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;charset=utf8;"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
结果出现 System.Data.EntityException:{“底层提供程序在 ConnectionString 上失败。”} {“不支持关键字:'charset'。”}
问题:
如何将连接字符串中的字符集设置为utf8?或者默认启用utf8?
unicode 的用法由变量或列类型定义。Char和varchar是非 unicode,nchar和nvarchar是 unicode (UCS-2)。
还有一些排序规则定义了代码页char和varchar列以及字符串比较和排序的方式。每个数据库都有一个默认排序规则,每个列或变量都可以显式定义其他排序规则。
字符集不是通过连接配置的。