数据库中用户名是中文时乱码,web程序无法查询

1。因为数据库编码默认是"iso-8859-1"而我的web项目编码是UTF-8.所以

//得到用户名和密码
    String u=request.getParameter("username");
    String p=request.getParameter("passwd");
    u=new String(u.getBytes("iso-8859-1"),"UTF-8");
    System.out.println("u="+u+"p="+p);

或者把它定义为一个工具类,用到的时候调用Tools.java

package com.lei.model;

public class Tools {
    //提供一个方法,将乱码转换成utf-8,gb2312,gbk
    public static String getNewString(String input) {
        String result="";
        try {
            result=new String(input.getBytes("iso-8859-1"),"UTF-8");
        }catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

}

上面的就可以换成调用:u=Tools.getNewString(u);

2.修改tomcat的server.xml,据说不稳定,这里不做说明了

 

 

 

转载于:https://www.cnblogs.com/Yogurshine/archive/2013/04/13/3018684.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值