set @rtn=N'批次:'+@bar_code+N'从'+@frwh+N'至'+@towh+' '+@trans_desc+N'已取消!'
@trans_desc 为中文 显示也是乱码在前面加个N   存储过程语法错误解决办法是什么 大家帮忙

解决方案 »

  1.   

    @rtn 和 @trans_desc 都定义成 nvarchar 数据类型了?
      

  2.   

    create proc wujilintext
    (
       @test nvarchar(10)
    )
    as
    print @testexec wujilintext '好人'测试 
    结果 乱码
      

  3.   

    ALTER proc wujilintext 

      @test nvarchar(10) 

    as print @test exec wujilintext '好人' 我这样都行哦
      

  4.   

    exec wujilintext N'好人' 
      

  5.   


    这是我举得例子我是想在程序中调用存储过程 返回中文为乱码set @rtn=N'批次:'+@bar_code+N'从'+@frwh+N'至'+@towh+' '+@trans_desc+N'已取消!' 
      

  6.   

    就是当@trans_desc值 为中文时候 此位置显示乱码
      

  7.   

    N 应该是默认转换成ntext类型了,去掉N,将变量转换成nvarchar类型,试一试
      

  8.   

    unicode编码问题 
    你可以将字符串类型改为 nvarchar 
    或者在传递参数时使用(像子陌红法所说的):
    exec wujilintext N'好人' 
    这样就可以了