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

时间:2014-09-05 10:41:46

标签: c# sql sql-server tsql

如何在sql中使用urdu文本?

我有乌尔都语文字:

ےایڈیٹریاپھرکیبورڈکواستعمالکریں.ایڈیٹرسےتماملکھائیکاپیکری

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

e.g。

 Declare @msg nvarchar(1600)
    Set @msg= '
اپکی سثیکایت درج کردی گیؑ ھے۔ سثیکایت کوڈ یہ ہے ۔ معلومات حاصل کرنے کے لئے اسی کوڈ کو بھیجیں -شکریہ'
    Select @msg

返回??????????????????????????????????????

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

更新

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

我复制了这段文字

اپکی سثیکایت درج کردی گیؑ ھے۔ سثیکایت کوڈ یہ ہے ۔ معلومات حاصل کرنے کے لئے اسی کوڈ کو بھیجیں -شکریہ

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

String Urdu_Msg = "
اپکی سثیکایت درج کردی گیؑ ھے۔ سثیکایت کوڈ یہ ہے ۔ معلومات حاصل کرنے کے لئے اسی کوڈ کو بھیجیں -شکریہ";

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

Unexpected character 'ؑ'    
Unexpected character '۔'
为什么?救命 ? 我使用的是asp.net C#.net 4.0

3 个答案:

答案 0 :(得分:7)

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

前缀来使用nvarchar文字

N'ے ایڈیٹر یا پھر کیبورڈ کو استعمال کریں۔ایڈیٹر سے تمام لکھائی کاپی کری'

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

答案 1 :(得分:2)

你有第二个问题。在Visual Studio编辑器中编辑Urdu文本字符串似乎存在问题。将从右到左的文本字符串放在从左到右的编程语言中应该可以工作,但有时候编辑会把事情弄糊涂。

将这些字符串放在资源中可能更容易,或者至少在支持Unicode的文本编辑器中编辑它们,然后将它们粘贴回Visual Studio。

答案 2 :(得分:0)

首先将文本转换为net2ftp编辑器上的基本代码,将代码放入编辑器并提交,编辑器自动将文本更改为基本代码 像...

اپکی سثیکایت درج کردی گیؑ ھے۔ سثیکایت کوڈ یہ ہے ۔ معلومات حاصل کرنے کے لئے اسی کوڈ کو بھیجیں -شکریہ
结果:
اپکیسثیکایتدرجکردیگیھے。 سثیکایتکوڈیہہے。更多信息请点击链接