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

C# 在sql server数据库中存储不同语言的字符串必须考虑什么? 背景:,c#,asp.net,sql-server-2008,entity-framework-4,character-encoding,C#,Asp.net,Sql Server 2008,Entity Framework 4,Character Encoding,出于各种原因,我正在sql server 2008 r2中创建一个转换表。(这个问题不是关于这是否是一个正确/好的选择) 此表应存储英语、德语、法语等语言的翻译。日语或汉语等语言可能很快就会出现 该表由WinForms应用程序填充/更新,然后在ASP.Net Web应用程序中显示给客户 我首先在模型中使用实体框架4(在设计器中创建实体,然后创建一个创建脚本) 现在谈问题: 如何确保WinForms和ASP.Net应用程序中的保存和读取操作的编码正确?数据库中的列类型必须是什么样子 实体框架设计器

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

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

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

现在谈问题: 如何确保WinForms和ASP.Net应用程序中的保存和读取操作的编码正确?数据库中的列类型必须是什么样子

实体框架设计器 显然,我只能在EntityDesigner中将“String”用作ColumnType。在设计器中选择“字符串”将转换为nvarchar(max)。这是存储不同语言字符串的正确列类型吗

连接串 我猜添加Charset=utf8连接字符串也是必需的

ASP.Net 在我看来,在ASP.Net应用程序中将utf-8设置为输出类型是合乎逻辑的

桌面应用程序 我必须在WinForms应用程序中设置其他内容吗?我需要自己调用一些编码/解码方法吗?如果是,是哪一个,为什么



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

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