2011-08-26 6 views
3

Je veux ajouter le support UTF8 à ma demande de base de données Entity Framework (SQL Server 2008 R2)EntityFramework ConnectionString UTF8

Je pense que je dois ajouter le charset à la connectionString.

Voici comment mon connectionString fonctionne (anonymisées, bien sûr)

<add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;&quot;" providerName="System.Data.EntityClient" /> 

j'ai eu un coup d'œil à connectionstrings.com, mais je ne trouvais rien en ce qui concerne UTF8.

J'ai essayé d'ajouter charset=utf8, mais cela ne fait pas l'affaire.

<add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;charset=utf8;&quot;" providerName="System.Data.EntityClient" /> 

Résultats dans un System.Data.EntityException: { "Le fournisseur sous-jacent a échoué sur ConnectionString."} { "Mot-clé non pris en charge. Charset"}

Question:
Comment définir le jeu de caractères sur utf8 dans connectionString? Ou utf8 est-il activé par défaut?

Répondre

3

L'utilisation d'unicode est définie par type de variable ou de colonne. Char et varchar sont non-unicode et nchar et nvarchar sont unicode (UCS-2).

Il existe également des classements qui définissent la page de codes pour les colonnes char et varchar et la façon dont les chaînes sont comparées et classées. Chaque base de données a un classement par défaut et chaque colonne ou variable peut avoir défini explicitement un autre classement.

Le jeu de caractères n'est pas configuré par connexion.