C# 使用c将数据从拉丁SQL复制到阿拉伯语SQL#

C# 使用c将数据从拉丁SQL复制到阿拉伯语SQL#,c#,sql-server,unicode,utf-8,arabic,C#,Sql Server,Unicode,Utf 8,Arabic,我写了一个c#程序,将一些记录从一个大的拉丁文数据库移动到一个小的阿拉伯文数据库。一切都很好,但源代码中的Unicode字符串有一个我无法解码的编码。 请帮帮我 我认为您必须使用NVARCHARdatatype列来支持翻译为阿拉伯语字符。 这是一个可能对您有用的链接,请浏览链接我发现db1编码是1256,我使用以下命令将其转换为utf8: string INs = "ظ†ع¯ظٹظ† 9"; byte[] bb = Encoding.GetEncoding(1256).GetBytes(INs)

我写了一个c#程序,将一些记录从一个大的拉丁文数据库移动到一个小的阿拉伯文数据库。一切都很好,但源代码中的Unicode字符串有一个我无法解码的编码。
请帮帮我

我认为您必须使用
NVARCHAR
datatype列来支持翻译为阿拉伯语字符。
这是一个可能对您有用的链接,请浏览链接

我发现db1编码是1256,我使用以下命令将其转换为utf8:

string INs = "ظ†ع¯ظٹظ† 9";
byte[] bb = Encoding.GetEncoding(1256).GetBytes(INs);
s = Encoding.UTF8.GetString(bb); 

谢谢回复!(抱歉!我无法在5分钟内编辑我的评论,我又发送了一条评论!)源和目标列为NVARCHAR。db1排序规则是SQL拉丁通用CP1 CI_AS,它的unicode字符串保存为“9”,但db2排序规则是阿拉伯语CI_AS,它的unicode字符串保存为“9”,这是正确的。我需要一个c#中的子程序,用于将db1字符串转换为db2字符串。我测试编码,“N”和解码器。你能详细说明一下吗?我的意思是,如果字符串在后端保存得很好,为什么要转换字符串?你想说,你想在前端显示保存在后端的特殊字符吗?software1有db1,software2有db2,我想把一些db1记录移到db2。db1_记录是来自某个位置的请求,只有一个位置与我们相关,我必须将这些特殊记录移动到我们的软件数据库中才能处理它们。这些数据库具有不同的排序规则,必须对其进行转换。软件2无法显示使用软件1编码的字符串。(对不起,我的英语)很抱歉,因为我不能完全理解您的意思,但我猜您的意思是,在使用
Select
语句时,您希望将数据从一个排序规则转换为另一个排序规则,所以我想您应该这样做