从JSP WEB页面往数据库写入出现乱码的一种解决方法

57 篇文章 0 订阅
52 篇文章 0 订阅
    Java是个好东西,写JAVA的感觉就是爽,可是在用到JAVA与数据库的时候,多半都会出现乱码的问题,特别是中文字符总是被强奸成为“?”,看到心理面多多少少有点难受。这也是我们被老外欺负,就因为这个软件是他们写的,对英语支持那里都是100%,可是我们的字符总是被他们耍皮球一样的扔过去扔过来。前面听说微软件出了个叫oneCare的杀毒,想拿来用用,居然提示说语言不支持,一个字“气”。
    为了正确将中文字符插入到数据库中,我试了N多种方法:
    1、把当前WEB页面的字符改成“ISO8859-1”,一运行,全成乱码,不行;
    2、因为我用的是Struts,把struts-config.xml的字符编码从“gb2312”改为“ISO8859-1”,也不行,打印出来的也全是乱码;
    3、到action页面把request的字符设成“gb2312”:request.setCharacterEncoding("ISO8859-1"),不行;
    4、到action页面把request的字符设成“gb2312”:request.setCharacterEncoding("gb2312"),不行;
    ......
    最后,在bean页面,加入一个字符转换函数:
        String format2IS08859(String str) {
            try {
                //cname=new String(cname.getBytes("gb2312"));
                str = new String(str.getBytes("ISO8859-1"));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return str;
            }
    再在其它的getXXX函数里面把字符用这个函数转换一下,才能够OK使用。
        public void setCname(String cname) {
            cname=format2IS08859(cname);
            this.cname = cname;
            }
    这个问题虽然解决了,但是我知道以后的工作量还大,因为不只有这么一个地方需要字符转换,如果能够一次性在那个地方设置一个字符,然后就OK了,这样就可以减少很多的工作量了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值