通过数据库邮件sqlserver向右发送语言 [英] send right to left language by database mail sqlserver

查看:63
本文介绍了通过数据库邮件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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆