首先sql命令行插入我知道怎么解决乱码问题了,但是使用dataset更新sql时中文乱码如何处理呢?我用utf8,unicode和ansi,default都试过了都不行,另外sqlserver2005数据库不能修改的
源码如下
drCurrent["name"] = Encoding.Unicode.GetString(Encoding.Unicode.GetBytes("测试数据"));

解决方案 »

  1.   

    没有人理啊,唉,我也知道是数据库的字符集和C#的不同,但是不能随便修改数据啊
    顺便提下drCurrent是datarow类型的
      

  2.   


    drCurrent["name"] = Encoding.Unicode.GetString(Encoding.Unicode.GetBytes("测试数据"));
    Encoding.GetEncoding("gb2312").GetString(....)
    试试这个看看LZ
      

  3.   

    试过,也不行,是这样么?
    drCurrent["name"] =Encoding.GetEncoding("GB2312").GetString(Encoding.UTF8.GetBytes("测试数据"));问题是不是出现在自动转换上,drCurrent["name"]=
    比如datarow的默认类型会将我传入的字符串做默认转换?
      

  4.   

    对了刚才忘说了,数据库是英文版的sqlserver2005
      

  5.   

    字符集居然是
     SQL_Latin1_General_CP1_CI_AS
    囧,没用过啊,这怎么转?
      

  6.   

    查了半天,唯一的解决方法是
    alter   database   [test]   collate   Chinese_PRC_Stroke_CI_AS 
    囧,偏偏我没办法该数据库,唉
      

  7.   

    之前做数据导入时也遇过乱码问题,后来好像用默认的就行了。具体的也忘记了,好像就是有个Encoding.Default什么的。。