通过数据库邮件sqlserver向右发送语言 [英] send right to left language by database mail sqlserver
本文介绍了通过数据库邮件sqlserver向右发送语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有通过ms sqlserver发送邮件的程序,它运行良好,但我有一个问题,当我用身体阿拉伯语写作硬编码@ body =''الحمدلله''它显示为????? ??
但如果我从数据库获取身体@ body = @ Container它运作良好
解决方案
尝试写作
@ body = N ' الحمدلله'
在字符串之前添加没有空格的大写N ..
并将变量声明为NVARCHAR
我认为你在SP中声明了一个变量为VARCHAR或CHAR数据类型。您应该使用Unicode字符数据类型,如 NVARCHAR或NCHAR [< a href =http://msdn.microsoft.com/en-us/library/ms186939(v=sql.105).aspx\"target =_ blanktitle =New Window> ^ ]
对于您的参考资料,
Sql Server VARCHAR和NVARCHAR数据类型之间的区别 [ ^ ]
问候,
GVPRabu
感谢所有解决的问题/>
声明nvarchar并将N
设为
声明 @ reportName nvarchar ( 50 )= N ' الحمدلله 跨度>;
i have procedure to send mail by ms sqlserver and it work well ,but i have a problem when i write in body arabic language as hard code as @body=''الحمد لله'' it show as ???????
but if i get body from database as @body=@Container it work well
解决方案
try writing
@body=N'الحمد لله'
add capital N without space before the string..
and declare variable as NVARCHAR
Hi,
I think u declared a variable inside the SP as VARCHAR or CHAR Datatype. You should use Unicode Character Data Type like NVARCHAR or NCHAR[^]
For your references,
Difference Between Sql Server VARCHAR and NVARCHAR Data Type[^]
Regards,
GVPRabu
thanks for all it solved by
declare nvarchar and put N
as
declare @reportName nvarchar(50)=N'الحمد لله';
这篇关于通过数据库邮件sqlserver向右发送语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文