用的是存储过程
 parameters[2].Direction = ParameterDirection.Output;
string aaa = "<script>alert('数据库错误,错误原因:" + HttpUtility.UrlDecode(parameters[2].Value.ToString()) + "')</script>";
            Response.Write(aaa);我下断点发现parameters[2].Value.ToString()就是乱码,所以编码出来还是乱码,请问这个怎么解决

解决方案 »

  1.   


    额,不懂,啥意思
    我在家里数据库和iis在一台机器上,返回的值就是正常的中文,在公司数据库和iis没在一台电脑上,就有乱码的问题
      

  2.   

    你查看一下数据库的编码,是不是unicode
      

  3.   

    存储过程中的出错信息是这样的:
      set @error  = '出错了!'
    需要在存储过程中对这个@error编码吗    
      

  4.   

    用户默认语言是简体中文
    排序规则是Chinese_PRC_CI_AS
    这和我家里的都一样啊
    唯一的区别是家里的iis和sql在同一台机器上,公司里是在两台机器上以前也出现过这种情况
    是在一个网页里
    Request.Cookies["userinfo"].Values["operatorname"]这个cookie是中文的,在家里电脑测试没有问题,在单位一发布就乱码
    后来用HttpUtility.UrlDecode(Request.Cookies["userinfo"].Values["operatorname"])解决了问题
    但是现在parameters[2].Value.ToString()就是乱码,所以再去对它编码就没用了