SQL Server 2008 - 表包含nvarchar(max)数据类型并存储hindi&没有N'前缀的英文数据。喜欢 - “मांगलिकwelcome”但在桌面商店中作为“×梻ÜÜ·¤欢迎”。
请指导如何在.net中显示来自SQL Server的数据。
答案 0 :(得分:0)
N前缀仅表示字符串是NVARCHAR而不是VARCHAR
默认情况下,C#是Unicode,因此您的数据可以正常使用。
事实上,重新阅读你的问题,我不确定你在问什么。
您是说您将数据存储在没有N前缀的数据库中?这是通过.net吗?
完成的你能否让你的问题更清楚?
**编辑
我不确定你能不能。非Unicode代码页之外的数据将丢失。
答案 1 :(得分: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: "नीलम"
取自 here