繁体操作系统导出简体数据库数据为乱码

eguxlqly 2012-05-08 10:31:53
我使用的数据库是sql2005,需要导出的中文数据都用繁体输入了,
界面开发的时候也将language属性设置为中文繁体,在繁体操作系统上面使用程序的时候显示正常,但导出EXCEL数据的时候数据为乱码
请问有什么办法可以解决?
谢谢!
...全文
374 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
eguxlqly 2012-05-11
  • 打赏
  • 举报
回复
已经很感谢了 结贴
在台湾那边有些电脑上面是可以用的 我就不纠结了
谢谢大家
xky96 2012-05-10
  • 打赏
  • 举报
回复
可能是系统的问题,比如缺字库。重装系统吧。

很同情你,但好像帮不上你了。
eguxlqly 2012-05-10
  • 打赏
  • 举报
回复
谢谢,我自己安装了一个繁体的系统和繁体版本的excel结果可以正常的导出的。应该是系统和excel之间的关系,在出现乱码的电脑上面导出到txt中是正常的,而用我可以正常导出的繁体版excel发到对方电脑上面去安装的时候导出来还是乱码,比较纠结。
xky96 2012-05-09
  • 打赏
  • 举报
回复
已经确定是繁体了,不外乎BIG5、Unicode了。
简体excel能识别,繁体Excel反而不行?

是不是编码问题?
用简体excel打开这个文件,从中复制出一个汉字到txt中。
用untraedit或者命令行的debug.exe之类工具打开文件,看下具体编码是什么?
xky96 2012-05-08
  • 打赏
  • 举报
回复
那问题还是在程序上。
导出时能指定字符集,但先要确定数据源头是否正常。

form读出的字段值是否繁体?
form语言设定为繁体,显示的中文字段值是繁体?
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
应该与数据库、应用程序无关,
office对繁体的支持是有些问题,
用excel创建的繁体xls文件应该能正常显示,
但程序导出的不行。

首先,程序导出的是标准xls格式、还是后缀为xls实际为xml之类格式的?
另外,你的excel是什么版本?
换个版本的excel试试?有时高版本不行,可能低版本反而正常。
[/Quote]

谢谢,我导出来的数据是xls格式的,导出来的是标准的xls,
在繁体的的office2010中打开是乱码,但是拷贝到我自己的简体系统中的简体中文版的offie2010中打开是正常的;
虽然我在form那边把语言设定为了繁体中文,但是导出来的东西还是简体编码的,请问导出数据的时候能指定导出的编码吗?
xky96 2012-05-08
  • 打赏
  • 举报
回复
应该与数据库、应用程序无关,
office对繁体的支持是有些问题,
用excel创建的繁体xls文件应该能正常显示,
但程序导出的不行。

首先,程序导出的是标准xls格式、还是后缀为xls实际为xml之类格式的?
另外,你的excel是什么版本?
换个版本的excel试试?有时高版本不行,可能低版本反而正常。
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
鉴定:问题表述不清
[/Quote]
不好意思,我的意思是数据库中需要导出来的中文字段都是使用繁体中文输入的,
程序的相关form的language选项选为中文繁体,界面上面会显示的中文字符也手动输入了繁体的,此外,我的开发系统是简体中文的;
数据库服务器安装在简体系统上面,客户端是在繁体系统上面的,客户端显示正常(无乱码),但是导出来的excel文件里面的内容中的中文字符都是乱码
mizuho_2006 2012-05-08
  • 打赏
  • 举报
回复
用UTF-8编码试试
xky96 2012-05-08
  • 打赏
  • 举报
回复
鉴定:问题表述不清
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
excel2010支持简繁体转换的。

form使用unicode,GBK和BIG5在其中各自映射一个互不相干的区域。
如果数据源头是繁体,不管中间用了什么字符集,如果出了差错,
最后得到的只能是乱码,而不会所有文字变简体。

所以我怀疑:
1、最后得到的还是繁体,只不过新安装的简体版excel能识别出
2、最后得到的是简体文件,数据源可能就是简体
[/Quote]
现在的现象和你推测的第一条一样,需要安装简体版的excel才能识别出来,不过在excel中显示的也是繁体,和没装简体版的excel的区别是没有了乱码。
字符串在VS中都是UNICODE的,用簡體的可以正常顯示,但是在繁體的office中,没有簡體中文的語言支持,所以顯示不出來,說明此時的在繁體系統中並没有與我要顯示的字符串相對應的字符集,而使用下面語句
Encoding big5 = Encoding.GetEncoding(950); string cstr1 = big5.GetString(big5.GetBytes(str1));
測試的時候,如果str1為簡體中文,且存在與之對應的繁體字的時候,cstr1在簡體中文的系統中會出現亂碼;推測是由於str1不是繁體或者無法轉化為繁體
xky96 2012-05-08
  • 打赏
  • 举报
回复
excel2010支持简繁体转换的。

form使用unicode,GBK和BIG5在其中各自映射一个互不相干的区域。
如果数据源头是繁体,不管中间用了什么字符集,如果出了差错,
最后得到的只能是乱码,而不会所有文字变简体。

所以我怀疑:
1、最后得到的还是繁体,只不过新安装的简体版excel能识别出
2、最后得到的是简体文件,数据源可能就是简体
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
这个是我的连接字符串,
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=" + filepath + ";"
+ "Extended Properties=\"Excel 5.0;HDR=YES\"";

这里看不出繁体和简体的区别啊。
crackdung 2012-05-08
  • 打赏
  • 举报
回复
導出出問題,使用了簡體office-api?
tiangong789 2012-05-08
  • 打赏
  • 举报
回复
没有操作过繁体数据库内容,观望
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
谢谢
已经转过了 繁简转化不行
但是在在繁体的那个操作系统上面安装简体中文版的excel是可以正常显示的
说明我导出的是中文简体的
xky96 2012-05-08
  • 打赏
  • 举报
回复
怀疑你的excel文件到底是什么字符集的
试试用excel简繁体转换?好像在主菜单:“文件”中
eguxlqly 2012-05-08
  • 打赏
  • 举报
回复
from读出的字段是繁体的,from语言设定为繁体的,显示也是繁体的(手动将form上面需要显示的中文都用繁体输入)
帝国备份王EmpireBak是一款完全开源免费、专门为MYSQL大数据的备份与导入而设计的稳定高效软件,系统采用分卷备份与导入,理论上可备份任何大小的数据. 帝国备份王解决MYSQL备份三大难题: 1、解决备份大数据问题,采用分组备份,备份稳定高效; 2、解决备份数据编码乱码问题,备份王智能识别编码; 3、解决不同MYSQL版本数据不能互导问题,通过备份王不存在数据版本区别。 帝国备份王(EmpireBak)主要特性 1、分组备份,专为大数据备份设计 采用分组备份,系统自动将数据分成多部分导出进入.理论上不限数据大小,均可备份与恢复; 支持按“文件大小”与“记录数”两种分组备份方式,特别是针对大数据而设计的“按记录数”备份算法,效率极高; 每组备份数据大小后台直接设置,依服务器配置自已设定。 2、不同MYSQL版本数据平滑转换,可直接备份与恢复 系统自动识别MYSQL版本格式,然后进行转换恢复; 不同编码数据之间可直接备份与恢复,系统自动识别数据编码; 系统支持完整备份,即使备份与恢复两个数据表结构不一致,也可备份与恢复; 支持数据表编码转换; 支持正常数据与十六进制数据备份。 3、安全性 备份文件均生成*.php文件,并且采用登录验证,只有登录的管理员才能进行数据恢复; 备份目录、压缩目录可自定义; 支持密码与认证码双重密码登录验证; 登录随机验证码加密验证; 管理员登录验证COOKIE变量前缀后台直接设置。 4、使用方便 备份参数可保存,待以后使用时选择,无需重复设置; 备份目录直接后台管理(打包下载/删除),支持在线压缩下载与FTP直接下载; 备份设置与备份目录管理,并可直接转向数据备份与恢复页面,很人性化; 在线建立、删除数据,优化、修复、清空、删除数据表、批量替换表名,查看表字段等功能,管理数据很方便; 在线执行SQL、导入*.sql文件,方便操作数据; 支持批量替换备份目录文件内容,非常方便的文本替换功能。 5、多语言 系统默认内置“简体中文(gb2312)”、“简体中文(utf-8)”、“繁体中文(big5)”、“繁体中文(utf-8)”。 用户也可增加语言包,制作更多的语言支持。 6、安装/卸载简单 安装:上传程序即可直接使用,数据参数可在线设置(HTTP)。 卸载:删除程序目录即可完全清除。 7、支持数据累加 可设置是否增加递增字段值,可以将本地数据累加到服务器数据上。
帝国备份王(Empirebak)简介 EmpireBak是一款开源免费、专门为MYSQL大数据的备份与导入而设计的稳定高效软件,系统采用分卷备份与导入,理论上可备份任何大小的数据. 帝国备份王解决MYSQL备份三大难题: 1、解决备份大数据问题,采用分组备份,备份稳定高效; 2、解决备份数据编码乱码问题,备份王智能识别编码; 3、解决不同MYSQL版本数据不能互导问题,通过备份王不存在数据版本区别。 帝国备份王(EmpireBak)主要特性 1、分组备份,专为大数据备份设计 采用分组备份,系统自动将数据分成多部分进入导出.理论上不限数据大小,均可备份与恢复; 支持按“文件大小”与“记录数”两种分组备份方式,特别是针对大数据而设计的“按记录数”备份算法,效率极高; 每组备份数据大小后台直接设置,依服务器配置自已设定。 2、不同MYSQL版本平滑转换,可直接备份与恢复 系统自动识别MYSQL版本格式,然后进行转换恢复; 不同编码数据之间可直接备份与恢复,系统自动识别数据编码; 系统支持完整备份,即使备份与恢复两个数据表结构不一致,也可备份与恢复; 支持数据表编码转换。 3、安全性 备份文件均生成*.php文件,并且采用登陆验证,只有登陆的管理员才能进行数据恢复; 备份目录、压缩目录可自定义; 管理员登陆验证COOKIE变量前缀后台直接设置。 4、使用方便 备份参数可保存,待以后使用时选择,无需重复设置; 备份目录直接后台管理(打包下载/删除),支持在线压缩下载与FTP直接下载; 备份设置与备份目录管理,并可直接转向数据备份与恢复页面,很人性化; 在线建立、删除数据,优化、修复、清空、删除数据表,查看表字段等功能,管理数据很方便; 在线执行SQL、导入*.sql文件,方便操作数据; 支持批量替换备份目录文件内容,非常方便的文本替换功能。 5、多语言 系统默认内置“简体中文(gb2312)”、“简体中文(utf-8)”、“繁体中文(gb2312)”、“繁体中文(utf-8)”。 用户也可增加语言包,制作更多的语言支持。 6、安装/卸载简单 安装:上传程序即可直接使用,数据参数可在线设置(HTTP)。 卸载:删除程序目录即可完全清除。 7、支持数据累加 可设置是否增加递增字段值,可以将本地数据累加到服务器数据上。

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧