CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

SmartUpload取表单内容存入 mysql 数据库变成乱码!怎么解决!

楼主ljm983(ljm)2005-04-04 16:50:31 在 Java / Web 开发 提问

String   Topic=mySmartUpload.getRequest().getParameter("title");  
   
  out.print(Topic);//能正常显示中文啊!  
   
  可是存入MYSQL数据库后就变成乱码了!为什么啊!  
   
  网上的都说用这个request.setCharacterEncoding("ISO-8859-1");  
   
  可request都没有用来接受表单的内容,改怎么修改才行呢???  
  问题点数:100、回复次数:13Top

1 楼zhutouzip(醒了的鸟)回复于 2005-04-04 18:23:09 得分 10

你既然得到的Topic能正常显示,出现乱码就可能是在插入数据库中出现乱码了,一下几种方法你试一下:  
  (1)在连接数据库的url后面加上:characterEncoding="gb2312"  
  (2)在mysql的my.ini文件中加入default-character-set=gb2312  
  (3)String   Top=new   String(Topic.getBytes("ISO-8859-1"),"gb2312);这样转换后再插入数据库!  
   
  都试试吧!Top

2 楼xiangbo520(充栋汗牛)回复于 2005-04-04 18:28:50 得分 0

楼上的高手也!Top

3 楼zhutouzip(醒了的鸟)回复于 2005-04-04 18:36:37 得分 5

(3)的gb2312少了个反引号,改正一下!Top

4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-04 18:36:59 得分 85

我觉得一楼的解决方案可以修改一下  
  (1)在连接数据库的url后面加上:?useUnicode=true;characterEncoding=gbk;  
  (2)在mysql的my.ini文件中加入default-character-set=gbk  
  (3)既然打印出来都没有问题,这个就没有需要了  
  Top

5 楼xtuyaowu(tzjz)回复于 2005-04-04 18:48:04 得分 0

upTop

6 楼syliang2003(祝天下有情人终成扣肉)回复于 2005-04-04 19:25:33 得分 0

getBytes("ISO-8859-1")     就用这个了,只要写进数据库时没乱码,以后读出来就不会乱码了,!~小弟也曾深受乱码的困扰!Top

7 楼ljm983(ljm)回复于 2005-04-05 09:53:26 得分 0

:?useUnicode=true;characterEncoding=gbk;  
  和:?useUnicode=true;characterEncoding=8859_1;  
  有什么区别的吗?我的用后面一种啊!  
  Top

8 楼ljm983(ljm)回复于 2005-04-05 09:58:22 得分 0

成功了,最后我用的是   jFresH_MaN(TM)   说的改正后就能看见了啊!  
   
  太感谢了啊!终于克服了乱吗的问题了啊!  
   
  (1)在连接数据库的url后面加上:?useUnicode=true;characterEncoding=gbk;  
  (2)在mysql的my.ini文件中加入default-character-set=gbk  
   
  高手谢谢啊!Top

9 楼ljm983(ljm)回复于 2005-04-05 10:03:16 得分 0

不过之前我从MYSQL数据库去数据前用了这个函数啊!  
                  public   String   getGbk(   String   str)   {  
                                  try  
                                  {  
                                        return   new   String(str.getBytes("8859_1"));  
                                  }  
                                  catch   (Exception   e)  
                                  {  
                                                  return   str;  
                                  }  
                  }  
   
  现在所有读出的数据都变成了乱吗!Top

10 楼007JavaKing(乖乖咙的咚)回复于 2005-04-05 10:08:42 得分 0

写如数据库前一定要转码,确保写进去的是中文。读出来的时候也要转码。Top

11 楼ljm983(ljm)回复于 2005-04-05 10:09:47 得分 0

要加上这个所有取出的数据就不会变乱吗了!  
   
  request.setCharacterEncoding("gbk");  
   
  Top

12 楼ljm983(ljm)回复于 2005-04-05 10:28:36 得分 0

在标签里面去出数据如果没有request这个参数  
   
  怎么又用什么语句转换相当与request.setCharacterEncoding(     "gbk     ");      
   
  的功能呢?Top

13 楼ljm983(ljm)回复于 2005-04-05 10:49:21 得分 0

MYSQL数据库最后的总结:网上的所有解决乱吗的问题我都试过了啊!  
   
  最后发现用  
  (1)在连接数据库的url后面加上:?useUnicode=true;characterEncoding=gbk;  
  (2)在mysql的my.ini文件中加入default-character-set=gbk  
   
  存入和取出再也不用什么  
  request.setCharacterEncoding("gbk");  
  String   str=new   String(strName.getBytes(“iso-8859-1”),”GB2312”);  
  只类的转换了,如果不是很理解这些,可能就会被转晕了啊!  
   
  所以觉得MYSQL数据库用gbk是最合适不过了,查询页面的中文也可以正常显示啊  
   
  再也不会有同样的一条sql语句在网页上查不出来,而通过查询工具却能查出结果  
   
  的编码不同的问题啊!   反正觉得不用把中文字符转到转去就很高兴了啊!Top

相关问题

  • 下面是MYSQL数据库表单
  • 通用表单生成程序(php+mysql)
  • ASP图片上传问题,怎样将图片与表单其他字段分离,存入数据库!
  • 关于ISAPI的开发问题,如何将用户的表单数据存入数据库中?
  • 谁能给我一“图片和文字在同一表单发送并存入数据库的源代码?!(100分)
  • 如何得到用户提交表单的系统当前时间,并存入数据库。是不是要用到时间转换函数?(50求)
  • 求助各位高人!vb 下怎样把数据存入lotus 库的固定的表单中。 (大家中秋快乐!)
  • 提交表单用mysql数据库遇到单引号的问题
  • 怎样把用户选择的图像文件存入mysql呢
  • 怎么用C API把 jpg图片储存入MySql数据库

关键词

  • 乱码
  • 数据库
  • mysql
  • 连接
  • useunicode
  • characterencoding
  • topic
  • gb2312
  • 后面加上
  • gbk

得分解答快速导航

  • 帖主:ljm983
  • zhutouzip
  • zhutouzip
  • jFresH_MaN

相关链接

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

广告也精彩

反馈

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