【问题标题】:What must be considered for storing strings of different languages in a sql server database?在 sql server 数据库中存储不同语言的字符串必须考虑什么?
【发布时间】:2011-08-24 21:05:55
【问题描述】:

背景:

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

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

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

现在问题来了:

如何确保 WinForms 和 ASP.Net 应用程序中的保存和读取操作编码正确?数据库中的 columnTypes 应该是什么样子的?

实体框架设计器

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

连接字符串

我想在 connectionString 中添加 Charset=utf8; 也是必要的。

ASP.Net

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

WinForms

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


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

【问题讨论】:

    标签: c# asp.net sql-server-2008 entity-framework-4 character-encoding


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2023-04-03
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      相关资源
      最近更新 更多