CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

江湖救急,恢复乱码数据

楼主soloxiao(红色孤独)2005-11-23 09:23:32 在 Java / Web 开发 提问

原来存储数据之前没有内码转换,就直接  
  String   fld1   =   request.getParameter("fld1");  
  其实此值含有中文,所以存到sql   server中的值为  
   
  ?DoE§O§e?J‥I¥I!MAAAA!T  
   
  有什么方法可以恢复阿,因为现在有100笔数据了,期待中。。。 问题点数:200、回复次数:14Top

1 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-11-23 09:25:40 得分 80

String   fld1   =   new   String(((String)request.getParameter("fld1")).getBytes("iso-8859-1"),"gb2312");  
  Top

2 楼eureka0891(迷茫中...)回复于 2005-11-23 09:32:47 得分 50

用和   jFresH_MaN(十一月的萧邦-夜曲)   相反的方法,  
  从数据库里读时用:  
  String   str=new   String(rs.getString(1).getBytes("iso-8859-1"),"gb2312");  
  Top

3 楼duyhui(一天到晚游泳的鱼)回复于 2005-11-23 09:40:17 得分 10

用楼上的方法试试,得进行编码转换Top

4 楼soloxiao(红色孤独)回复于 2005-11-23 09:41:51 得分 0

系统是繁体  
  我在jsp上端有写contentType="text/html;   charset=Big5"  
  Top

5 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-11-23 09:44:50 得分 30

你需要结合jFresH_MaN(十一月的萧邦-夜曲)和eureka0891(迷茫中...)   的方法。  
   
  在程序中用jFresH_MaN(十一月的萧邦-夜曲)取参数,然后再存入数据库。  
   
   
  至于你数据库中的乱码,那你就用eureka0891(迷茫中...)   的方法,进行编码转换,这样就能恢复了,然后你把取出来的正常的文字再存到数据库中,也就是更新一下数据库中的数据。Top

6 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-11-23 09:46:58 得分 0

最关键的是把你原来的数据取出来,进行编码转换恢复到正常的中文以后存入数据库,进行更新。  
   
  在以后的取参数的时候你就用jFresH_MaN(十一月的萧邦-夜曲)的方法对取来的参数进行转码,这样确保存入到数据库中的中文是正常的。Top

7 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-11-23 09:53:39 得分 0

系统是繁体  
  我在jsp上端有写contentType="text/html;   charset=Big5"  
  ----  
  这个编码对于http请求是没有关系的啊。  
  你还是得要转iso-8859-1到big5Top

8 楼soloxiao(红色孤独)回复于 2005-11-23 09:55:53 得分 0

谢谢大家,不过还是没有解决问题  
   
  后面存储的数据我都可以处理,现在的问题是恢复   原来存储的记录,我用‘迷茫中...’的方法  
  String   str=new   String(rs.getString(1).getBytes("iso-8859-1"),"big5");还是不行  
   
  系统是繁体,谢谢了Top

9 楼soloxiao(红色孤独)回复于 2005-11-23 09:59:59 得分 0

是不是原来存储的方法到数据库后,实际数据已经找不回来了???  
  Top

10 楼soloxiao(红色孤独)回复于 2005-11-23 14:20:18 得分 0

十一月的萧邦-夜曲,   请问还有其他方法吗?Top

11 楼TinyJimmy(Jimmy)回复于 2005-11-23 14:32:24 得分 10

要搞清除乱的真正原因才可能回复,   大家都知道是编码转错了,   就是要知道错在哪里,   GBK->IS08859-1   还是Big->GBK.   有些转换是不可逆的Top

12 楼snowwolf9999()回复于 2005-11-23 18:45:10 得分 10

又见乱码问题~  
  留个记号吧Top

13 楼those8377(悟能)回复于 2005-11-23 18:52:22 得分 10

顶分Top

14 楼soloxiao(红色孤独)回复于 2005-11-26 11:35:42 得分 0

期待解决方法Top

相关问题

  • 数据库的问题,江湖救急!
  • 江湖救急!!!
  • 江湖救急!!!!!
  • 江湖救急!!!!!!!
  • 江湖救急!!!
  • 江湖救急!
  • 江湖救急!
  • 江湖救急
  • 江湖救急
  • 江湖救急....................................

关键词

  • 数据库
  • 乱码
  • 编码
  • 数据
  • 转换
  • 中文
  • 系统
  • 夜曲
  • jfresh
  • fld1

得分解答快速导航

  • 帖主:soloxiao
  • jFresH_MaN
  • eureka0891
  • duyhui
  • OnlyFor_love
  • TinyJimmy
  • snowwolf9999
  • those8377

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo