在sql server数据库中存储不同语言的字符串必须考虑什么?

cit*_*nas 4 c# asp.net character-encoding sql-server-2008 entity-framework-4

背景:

由于各种原因,我在我的sql server 2008 r2中创建了一个转换表.(这个问题不是关于这是否是正确/好的选择)
这个表应该存储英语,德语,法语等语言的翻译.日语或中文等语言可能很快就会出现.

该表由WinForms应用程序填充/更新,稍后在ASP.Net WebApplication中向客户显示.

我首先使用Entity Framework 4和模型(在设计器中创建实体,然后创建一个创建脚本)

现在问题:

如何确保WinForms和ASP.Net应用程序中的保存和读取操作的正确编码?数据库中的columnTypes必须如何?

EntityFramework Designer

显然,我只能在EntitityDesigner中使用"String"作为ColumnType.在设计器中选择"String"将转换为nvarchar(max).这是存储不同语言字符串的正确columnType吗?

的ConnectionString

我想添加Charset = utf8; 连接String也是必要的.

ASP.Net

在ASP.Net应用程序中将utf-8设置为输出类型对我来说似乎是逻辑.

的WinForms

我必须在WinForms应用程序中设置其他任何东西吗?我需要自己调用一些编码/解码方法吗?如果是的话,哪一个和为什么?


我错过了什么吗?我需要配置其他东西吗?

x2.*_*x2. 6

nvarchar是正确的.它以unicode存储数据,如果您在应用程序中使用utf-8,则无需编码/解码任何内容.