将urdu文本分配给c#中的变量

Joh*_*ash 3 c# sql t-sql sql-server

如何在sql中使用urdu文本?

我有乌尔都语文字:

发布消息或更多信息

现在如何将其分配给变量?

例如

 Declare @msg nvarchar(1600)
    Set @msg= '
???? ??????? ??? ???? ??? ??? ??????? ??? ?? ?? ? ??????? ???? ???? ?? ??? ??? ??? ?? ?????? -?????'
    Select @msg
Run Code Online (Sandbox Code Playgroud)

它返回 ??????????????????????????????????????

并且还需要c#help,从sql中选择后它会在那里工作吗?

更新:

我正在将乌尔都语文本分配给c#中的变量,但它不会像粘贴它时那样工作,它的顺序相反,会引发许多错误.为什么?

我复制了这个文字

???? ??????? ??? ???? ??? ??? ??????? ??? ?? ?? ? ??????? ???? ???? ?? ??? ??? ??? ?? ?????? -?????
Run Code Online (Sandbox Code Playgroud)

它是正确的格式,没有问题但是当我将相同的字符串分配给c#变量时,它变为反向和多个错误

String Urdu_Msg = "
???? ??????? ??? ???? ??? ??? ??????? ??? ?? ?? ? ??????? ???? ???? ?? ??? ??? ??? ?? ?????? -?????";
Run Code Online (Sandbox Code Playgroud)

它仍然可以在堆栈溢出中工作,文本以适当的格式分配给变量但在visual studio .cs文件中它反向加错误

Unexpected character '?'    
Unexpected character '?'
Run Code Online (Sandbox Code Playgroud)

为什么?救命 ?我使用的是asp.net C#.net 4.0

Lor*_*ler 7

即使您声明了一个nvarchar变量,sql server也不会理解该文字应该使用unicode编码并尝试使用非unicode编码来解释该字符串.通过为字符串添加前缀来使用nvarchar文字N

N'? ?????? ?? ??? ?????? ?? ??????? ??????????? ?? ???? ?????? ???? ???'

C#使用unicode,因此不应该是一个问题.