后台是Sybase11.5的库文件,存在了多年了,一直正常工作。因企业需要我用C#+Sybase.Data.AseClient连接向库中写入数据,但写入的中文数据全部是乱码。有什么办法解决,试过多次,快要吐血了...
连接串:Data Source=192.168.1.11;Port=5000;UID=sa;PWD=;Database=db;charset=iso_1;language=us_english;我想知道我在前端如何使数据正确的写入,而不是再改服务器端。谢谢

解决方案 »

  1.   

    前面加个N,
    例如insert into table(name) values (N‘CSDN网站’);
      

  2.   

    把你的 数据 格式 改成 UTF8 然后再写入
                  string  oldHtml  =  GetYourGB2312Html();    //                
                    Encoding  encoding;                
                    encoding  =  System.Text.Encoding.GetEncoding( "GB2312 "); 
                    //  string  >  bytes 
                    byte[]  bytes  =  encoding.GetBytes(oldHtml); 
                    encoding  =  System.Text.Encoding.UTF8; 
                    //  bytes  >  string 
                    string  newOldHtml  =  encoding.GetString(bytes); 
                    //Response.Write(newOldHtml); 
    这样就可以把gb2312转成utf8了
      

  3.   

    Sybase 确实可恶 !!!!!
    因为它没有 nvarchar 和 ntext 字段 
      

  4.   

    设置数据库的字符集为CP936
    1>select   name,id   from   syscharsets     
      2>go     
      找到name为cp936对应的id(假设为117)     
      .1>sp_configure   "default   character   set   id",117     
      2>go    
      

  5.   

    写SQL语句的时候
    加个N吧!
      

  6.   


    插入中文前加N试试。可能是你使用的Sybase客户端和Sybase服务器端采用了不同的字符集。
    你必须要保证Sybase客户端和Sybase服务器端采用了相同的字符集,否则,Sybase就会自动做转换。
    这和oracle的SQL PLUS一样。
    你可以通过这个来查询客户端采用的字符集
    1> select @@client_csname,@@client_csid,@@char_convert
    2> go
    ------------------------------ ------ ---
    iso_1                               1   0或者,你可以禁止转换,sp_configure 'disable character set conversion'
      

  7.   

    字段类型要改为 nvarcharinsert into table(name) values (N‘CSDN网站’);
      

  8.   

    测试了加N的方法,不好用。
    这是在生成的语句:
    insert into wzk (ch,dw,fx,pm,gg,mz,pz,jz,scy,sj,time1,time2,bh) values(N'012-5',N'一班',N'进',N'矿石',N'',20760,8370,12390,N'sys','20050830','08:29:36','08:29:36',N'00000010')数据插入后中文显示的全是???
      

  9.   

    多谢各位的热心回复,又试了一下禁止转换,sp_configure 'disable character set conversion' 和编码转换的都不好用。还有什么办法么
      

  10.   

    改个字段类型。nvarchar 加个N    就OK
      

  11.   


    我已经试过了,问题没有解决。服务器的字符集是iso_1,我只能适应而不能更改。
      

  12.   

    多谢各位的热心帮助,问题我已经解决,是UTF7.