我使用的数据库是sql2005,需要导出的中文数据都用繁体输入了,
界面开发的时候也将language属性设置为中文繁体,在繁体操作系统上面使用程序的时候显示正常,但导出EXCEL数据的时候数据为乱码
请问有什么办法可以解决?
谢谢!

解决方案 »

  1.   

    不好意思,我的意思是数据库中需要导出来的中文字段都是使用繁体中文输入的,
    程序的相关form的language选项选为中文繁体,界面上面会显示的中文字符也手动输入了繁体的,此外,我的开发系统是简体中文的;
    数据库服务器安装在简体系统上面,客户端是在繁体系统上面的,客户端显示正常(无乱码),但是导出来的excel文件里面的内容中的中文字符都是乱码
      

  2.   

    应该与数据库、应用程序无关,
    office对繁体的支持是有些问题,
    用excel创建的繁体xls文件应该能正常显示,
    但程序导出的不行。首先,程序导出的是标准xls格式、还是后缀为xls实际为xml之类格式的?
    另外,你的excel是什么版本?
    换个版本的excel试试?有时高版本不行,可能低版本反而正常。
      

  3.   


    谢谢,我导出来的数据是xls格式的,导出来的是标准的xls,
    在繁体的的office2010中打开是乱码,但是拷贝到我自己的简体系统中的简体中文版的offie2010中打开是正常的;
    虽然我在form那边把语言设定为了繁体中文,但是导出来的东西还是简体编码的,请问导出数据的时候能指定导出的编码吗?
      

  4.   

    那问题还是在程序上。
    导出时能指定字符集,但先要确定数据源头是否正常。form读出的字段值是否繁体?
    form语言设定为繁体,显示的中文字段值是繁体?
      

  5.   

    from读出的字段是繁体的,from语言设定为繁体的,显示也是繁体的(手动将form上面需要显示的中文都用繁体输入)
      

  6.   

    怀疑你的excel文件到底是什么字符集的
    试试用excel简繁体转换?好像在主菜单:“文件”中
      

  7.   

    谢谢
    已经转过了  繁简转化不行
    但是在在繁体的那个操作系统上面安装简体中文版的excel是可以正常显示的
    说明我导出的是中文简体的
      

  8.   

    導出出問題,使用了簡體office-api?
      

  9.   

    这个是我的连接字符串,
     string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
                                   + "Data Source=" + filepath + ";"
                                   + "Extended Properties=\"Excel 5.0;HDR=YES\"";
    这里看不出繁体和简体的区别啊。
      

  10.   

    excel2010支持简繁体转换的。form使用unicode,GBK和BIG5在其中各自映射一个互不相干的区域。
    如果数据源头是繁体,不管中间用了什么字符集,如果出了差错,
    最后得到的只能是乱码,而不会所有文字变简体。所以我怀疑:
    1、最后得到的还是繁体,只不过新安装的简体版excel能识别出
    2、最后得到的是简体文件,数据源可能就是简体
      

  11.   

    现在的现象和你推测的第一条一样,需要安装简体版的excel才能识别出来,不过在excel中显示的也是繁体,和没装简体版的excel的区别是没有了乱码。
    字符串在VS中都是UNICODE的,用簡體的可以正常顯示,但是在繁體的office中,没有簡體中文的語言支持,所以顯示不出來,說明此時的在繁體系統中並没有與我要顯示的字符串相對應的字符集,而使用下面語句
     Encoding big5 = Encoding.GetEncoding(950); string cstr1 = big5.GetString(big5.GetBytes(str1));測試的時候,如果str1為簡體中文,且存在與之對應的繁體字的時候,cstr1在簡體中文的系統中會出現亂碼;推測是由於str1不是繁體或者無法轉化為繁體
      

  12.   

    已经确定是繁体了,不外乎BIG5、Unicode了。
    简体excel能识别,繁体Excel反而不行?是不是编码问题?
    用简体excel打开这个文件,从中复制出一个汉字到txt中。
    用untraedit或者命令行的debug.exe之类工具打开文件,看下具体编码是什么?
      

  13.   

    谢谢,我自己安装了一个繁体的系统和繁体版本的excel结果可以正常的导出的。应该是系统和excel之间的关系,在出现乱码的电脑上面导出到txt中是正常的,而用我可以正常导出的繁体版excel发到对方电脑上面去安装的时候导出来还是乱码,比较纠结。