0

SQL Server 2008 - 表包含 nvarchar(max) 数据类型并存储没有 N' 前缀的印地语和英语数据。像 - “मांगलिक 欢迎”,但在餐桌商店中为“×梻çÜ·¤ 欢迎”。

请指导如何在 .net 中显示来自 SQL Server 的数据。

4

2 回答 2

0

首先尝试创建一个表,如图:

Create table TestLang (strText nvarchar(max))

接下来尝试插入值

insert into TestLang values ( N'मांगलिक')
insert into TestLang values ( N'Welcome')

现在尝试搜索名称,如图所示:

SELECT * FROM TestLang WHERE strText LIKE N'मां%'

更新:

如果要显示数据,请尝试以下方式:

string input = "0928;0940;0932;092E;";
Regex rx = new Regex(@"([0-9A-Fa-f]{4});");
string output = rx.Replace(input, match => ((char)Int32.Parse(match.Groups[1].Value, NumberStyles.HexNumber)).ToString());
Output: "नीलम"

这里取

于 2013-09-26T09:26:27.147 回答
0

N 前缀仅表示字符串是 NVARCHAR 而不是 VARCHAR

看到这个了解更多信息

默认情况下,C# 是 Unicode,因此您的数据会正常。

事实上,重新阅读你的问题我不确定你在问什么。

您是说将数据存储在没有 N 前缀的数据库中吗?这是通过 .net 完成的吗?

你能把你的问题说得更清楚吗?

** 编辑

我不确定你能不能。非 Unicode 代码页之外的数据将丢失。

在此处查看此页面以获取更多详细信息

于 2013-09-26T09:14:08.930 回答