我用ADO.net,从DB2从取数到SQL Server,其它字段是正常,唯有汉字的字段在Insert进SQL Server中后全变成??????????h???之类的乱码,在SQL Server中该字段为nvarchar类型,collation是Chinese_RPC_CI_AS,DB2中该字段是CHAR(60),汉字编码不清楚,请问如何解决该问题????

解决方案 »

  1.   

    DB2。。  不知道。。 插入语句加 N ??
      

  2.   

    路过,但疑问汉字有char(60) 这个ascii或者内码、unicode编码?
    ascii=60  是 <   
      

  3.   

    是DB2 的CHAR类型,60位的固定长度,但是不知道汉字编码是什么,因为我们公司DB2服务器在美国,数据库也是美国佬建的,不知道汉字编码,现在问题是读回本地的SQL Server中变成乱码,郁闷中...
      

  4.   

    我以前在使用Sybase数据库时, 遇到过类似的问题Sybase数据库中存放的汉字码不知道是啥编码格式, 但是如果将SQL SERVER列的collate设为chinese_prc_ci_as是只能进去?, 将其设为latin1_general_ci_as应该可以看到原先的汉字码, 在插入时字符串要加前缀 N
      

  5.   

    用Encoding转转码能行吗?db2没用过不太清楚
      

  6.   

    我发现DB2的字符编码是EDCBIC,当用OdbcDataAdapter的Fill方法填充时,应该就无法将该EDCBIC的字符串转换为C#默认的字符编码,于是只要是汉字全变成"????",此问题究竟要如何解决,神啊,救救我吧!!!!!!!!!!!!!!!
      

  7.   

    以前用ORACLE导出到SQL SERVER时遇到了类似问题,也是全是??后来好像是在操作ORACLE前,先用一条语句把其语言设为中文的,具体过程忘了.请按这种思路找找方法