windows2003上奇怪的乱码问题,请大家帮忙

kiate 2009-06-26 04:25:43


程序是struts+hibernate+MySQL ,有个功能是将数据导出成xml(GB2312编码),导出时在程序中对数据进行Base64加密,导入的时候进行解码。

但在一台IBM的服务器上,操作系统是windows2003的环境中,发现导出的xml中的Base64编码后的数据不对,导致导入时中文数据全为?了。

注:程序在其他的机器、操作系统(win2000,xp,2003)上都没有这个现象。到目前为止这个奇怪的问题就出现过一次,怀疑是windows2003环境问题,但也不知道是环境的什么地方出来问题,请大家帮忙,急着解决。先谢谢大家。
...全文
159 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiate 2009-07-08
  • 打赏
  • 举报
回复
没办法,只能要求用户重新安装系统,好在客户同意了。谢谢各位的回答
dieyingao 2009-06-30
  • 打赏
  • 举报
回复
嗯,可能真的错在BASE64的编码上,楼主的BASE64框架可能在这台机器上对中文的解析上出现问题了。
可以考虑做个单元测试下先吧
sui_yuan_zhe 2009-06-30
  • 打赏
  • 举报
回复
顶·····
kiate 2009-06-29
  • 打赏
  • 举报
回复
希望大家仔细看一下问题,我可以肯定数据从数据库中查询出来包括显示在界面上都是正确的,就是将数据导出的时候出问题了。
我在查询出数据,并进行了Base64编码,然后组织成xml导出。问题是导出的xml中发现base64编码后的数据不对,发现解码后不对了。

我觉得是在Base64编码这个环节出了问题了,但又不知道是在什么地方出的。Base64函数是用的第三方包,在其他地方还没有发现这个函数有问题。


希望大家帮忙顶,急中。。。。
billhepeng 2009-06-29
  • 打赏
  • 举报
回复
你操作系统是中文的还是英文的?
imasmallbird 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kiate 的回复:]
没有乱码的系统为GBK,出问题的机器不在公司,还不能看到。

请问楼上的,如果查出的不一样,那可能的原因是什么,如何处理?
[/Quote]

如果不一样,那有可能就是你的编码中或者是使用其他API的底层代码,对系统的编码集产生了依赖关系

if(encoding=null){
//取系统编码集
}
这样的代码

可以人为的指定一下系统的编码集System.setProperty("file.encoding", "你想要的编码集");
试一下,我用这个方法曾经解决过几次不同环境的乱码问题
anhy 2009-06-27
  • 打赏
  • 举报
回复
windows2003本身的系统编码是什么?
kiate 2009-06-27
  • 打赏
  • 举报
回复
回答骑士:

我用的是jboss402,默认的启动方法,应该是没有指定该方法。
Monkey_D_Luffy 2009-06-27
  • 打赏
  • 举报
回复
帮顶一下,希望能尽早解决问题
冥王之锤 2009-06-26
  • 打赏
  • 举报
回复
你的程序运行是是否指定了-encode,没有可以指定以平常使用encode方式运行java虚拟机,看是否还存在次问题。
kiate 2009-06-26
  • 打赏
  • 举报
回复
我是免安装mysql,与我的程序、环境等一起打包的,是否也存在这样的问题
caishu1986 2009-06-26
  • 打赏
  • 举报
回复
重装MySQL就好了,我本来也是乱码。重装MySQL就好了!
kiate 2009-06-26
  • 打赏
  • 举报
回复
没有乱码的系统为GBK,出问题的机器不在公司,还不能看到。

请问楼上的,如果查出的不一样,那可能的原因是什么,如何处理?
imasmallbird 2009-06-26
  • 打赏
  • 举报
回复
你看一下,没有乱码的系统环境的编码集是否与你出现乱码的系统的编码集不同??
System.getProperty("file.encoding");
kiate 2009-06-26
  • 打赏
  • 举报
回复
问题奇怪在就是在那台IBM的windows2003上,其他台式PC服务器上windows2003都没有发现这个问题。首先谢谢楼上关心,希望继续关注。
kiate 2009-06-26
  • 打赏
  • 举报
回复
检查了,都是用的GBK
anhy 2009-06-26
  • 打赏
  • 举报
回复
MySQL的编码检查了吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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