// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   jbqk_select.javapackage jbqk;import java.io.PrintStream;
import java.sql.*;public class jbqk_select
{ Connection conn;
String sDBDriver;
String sConnUrl;
String user;
String pwd;
ResultSet rs;
ResultSet rs1;
String rr;
boolean jbqktable;
boolean lwqktable;
boolean zzqktable;
public String selectstr1;
String select1;
String select2;
String select3;
String select4;
String select5;
String select6;
String select7;
String select8;
String text;
String text1;
String text2;
String strSelectjbqk;
String strSelectjbqk1;
String strSelectjbqk2;
String strSelectjbqk3;
String strSelectlwqk;
String strSelectzzqk;
String jbqkcx;
String lwqkcx;
String zzqkcx; public jbqk_select()
{
conn = null;
sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
sConnUrl = "jdbc:microsoft:sqlserver://WWW-BDFF3978750:1433;DatabaseName=kygl";
user = "sa";
pwd = "sa";
rs = null;
rs1 = null;
jbqktable = false;
lwqktable = false;
zzqktable = false;
select4 = "请选择";
select5 = "请选择";
select6 = "请选择";
select7 = "请选择";
select8 = "请选择";
strSelectjbqk = null;
strSelectjbqk1 = " where ";
strSelectjbqk2 = "'";
strSelectjbqk3 = "请选择";
strSelectlwqk = null;
strSelectzzqk = "select * from zzqk";
jbqkcx = "个人基本情况查询";
lwqkcx = "论文情况查询";
zzqkcx = "著作情况查询";
try
{
Class.forName(sDBDriver);
}
catch (ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
} public ResultSet executeQuery(String s)
{
try
{
conn = DriverManager.getConnection(sConnUrl, user, pwd);
Statement statement = conn.createStatement(1005, 1008);
rs = statement.executeQuery(s);
}
catch (SQLException sqlexception)
{
System.err.println("dbconn.executeQuery:".concat(String.valueOf(String.valueOf(sqlexception.getMessage()))));
}
return rs;
} public boolean getJbqktable()
{
return jbqktable;
} public boolean getLwqktable()
{
return lwqktable;
} public boolean getZzqktable()
{
return zzqktable;
} public void setSelectstr1(String s)
{
selectstr1 = s;
} public String getSelectstr1()
{
return selectstr1;
} public void setSelect1(String s)
{
select1 = s;
} public String getSelect1()
{
return select1;
} public void setSelect2(String s)
{
select2 = s;
} public String getSelect2()
{
return select2;
} public void setSelect3(String s)
{
select3 = s;
} public String getSelect3()
{
return select3;
} public void setSelect4(String s)
{
select4 = s;
} public String getSelect4()
{
return select4;
} public void setSelect5(String s)
{
select5 = s;
} public String getSelect5()
{
return select5;
} public void setSelect6(String s)
{
select6 = s;
} public String getSelect6()
{
return select6;
} public void setSelect7(String s)
{
select7 = s;
} public String getSelect7()
{
return select7;
} public void setSelect8(String s)
{
select8 = s;
} public String getSelect8()
{
return select8;
} public void setText(String s)
{
text = s;
} public String getText()
{
return text;
} public void setText1(String s)
{
text1 = s;
} public String getText1()
{
return text1;
} public void setText2(String s)
{
text2 = s;
} public String getText2()
{
return text2;
} public ResultSet cx()
{
if (jbqkcx.equals(selectstr1))//在debug时此处提示selectstr1=¸öÈË»ù±¾Çé¿ö²éѯ,
{
strSelectjbqk = "select * from jbqk";
if (!strSelectjbqk3.equals(select4) && !strSelectjbqk3.equals(select5) && !strSelectjbqk3.equals(text1))
{
strSelectjbqk = "select * from jbqk";
strSelectjbqk = (new StringBuilder()).append(strSelectjbqk).append(strSelectjbqk1).append(select4).append(select5).append(strSelectjbqk2).append(text1).append(strSelectjbqk2).toString();
}
if (!strSelectjbqk3.equals(select4) && !strSelectjbqk3.equals(select5) && !strSelectjbqk3.equals(text1) && !strSelectjbqk3.equals(select6) && !strSelectjbqk3.equals(select7) && !strSelectjbqk3.equals(select8) && !strSelectjbqk3.equals(text2))
strSelectjbqk = (new StringBuilder()).append(strSelectjbqk).append(" ").append(select6).append(" ").append(select7).append(select8).append(strSelectjbqk2).append(text2).append(strSelectjbqk2).toString();
rs1 = executeQuery(strSelectjbqk);
}
if (lwqkcx.equals(selectstr1))
{
strSelectlwqk = "select * from lwqk";
if (!strSelectjbqk3.equals(select4) && !strSelectjbqk3.equals(select5) && !strSelectjbqk3.equals(text1))
strSelectlwqk = (new StringBuilder()).append(strSelectlwqk).append(strSelectjbqk1).append(select4).append(select5).append(strSelectjbqk2).append(text1).append(strSelectjbqk2).toString();
if (!strSelectjbqk3.equals(select4) && !strSelectjbqk3.equals(select5) && !strSelectjbqk3.equals(text1) && !strSelectjbqk3.equals(select6) && !strSelectjbqk3.equals(select7) && !strSelectjbqk3.equals(select8) && !strSelectjbqk3.equals(text2))
strSelectlwqk = (new StringBuilder()).append(strSelectlwqk).append(" ").append(select6).append(" ").append(select7).append(select8).append(strSelectjbqk2).append(text2).append(strSelectjbqk2).toString();
rs1 = executeQuery(strSelectlwqk);
}
if (zzqkcx.equals(selectstr1))
if (!strSelectjbqk3.equals(select4) && !strSelectjbqk3.equals(select5) && !strSelectjbqk3.equals(text1))
{
strSelectzzqk = "select * from zzqk";
strSelectzzqk = (new StringBuilder()).append(strSelectzzqk).append(strSelectjbqk1).append(select4).append(select5).append(strSelectjbqk2).append(text1).append(strSelectjbqk2).toString();
rs1 = executeQuery(strSelectzzqk);
} else
{
strSelectzzqk = "select * from zzqk";
rs1 = executeQuery(strSelectzzqk);
}
return rs1;
} public static String toChinese(String strvalue) {
try {
if (strvalue == null) {
String s = null;
return s;
} else {
strvalue = new String(strvalue.getBytes("ISO-8859-1"), "GBK");
String s1 = strvalue;
return s1;
}
} catch (Exception e) {
String s2 = null;
return s2;
}
}
}
麻烦大家帮看一下,我不知道为什么错了,在先前备份的一项目中这块儿查询正确运行,不过后来更新了项目,不过把先前的拷过来还是有错。在查询时就是显示的这个乱码。

解决方案 »

  1.   

     乱码 , 又见乱码 ! 
    为何出现乱码 :数据库、中间程序、jsp页面 的编码不一致 ! 
      

  2.   

    selectstr1 你的这个变量需要先转化一次
     if(变量名!=null &&!"".equals(变量名)){
    String regEx = "[\\u4e00-\\u9fa5]"; 
    java.util.regex.Pattern p = Pattern.compile(regEx);   
    Matcher m = p.matcher(变量名);
    if(!m.find()){
    变量名=new String(变量名.getBytes("iso8859-1"),"gbk(这里写你的字符编码)");
    }
    }  使用这段代码对你的变量先进行转化在进行比较
      

  3.   

    现在这个selectstr1变量值不是乱码了, 不过结果显示还是乱码
      

  4.   

    出现乱码 :数据库、中间程序、jsp页面 的编码不一致 !
      

  5.   

    你用断点看一下你在类中最后要传到前台的值是不是乱码,然后在jsp页面中找到接收这个值的变量,看看他是不是乱码,然后就知道错哪了
      

  6.   

    乱码问题还没有解决啊,麻烦大家有时间帮我分析一下,现在我的java文件是gbk的,jsp页面是gb2312的,先前项目好好的, 后来我更新了jsp页面,现在好多文件显示都是乱码,从页面传进数据库中显示的也是乱码,这就说明三者编码格式不一样了。有时间帮个忙,急啊。QQ348714380
      

  7.   

    为什么不把编码统一呢,我之前JSP做的也是老是编码问题,后来搞烦了直接所有编码都是GBK的,现在都没乱码的问题出现了。
      

  8.   

    代码写的很不规范啊!
    类名命名要用驼峰标识
    如:jbqk_select
    JbqkSelect
      

  9.   

    改下你eclipse 打开文件的编码方式 试下!~
      

  10.   

    把jsp页面和数据库的编码都设成gb2312或者都设utf-8
      

  11.   

    把selectstr1转一下:
    selectstr1=new String(selectstr1.getBytes("ISO-8859-1"),"gbk")
      

  12.   

    jsp 页面gb2312,java是gbk的,现在debug时,看到前台输入进去的汉字全是乱码,传到数据库也一定是乱码。这说明,是后台程序的问题,该怎么转换呢。最好是一个方法可以将一个类中所有的字符串全部转换一下,我知道有单个变量转换的。求大家帮忙 。我的jsp页面中有一个地方用到了Jquery听说它是utf-8编码,而且不可改。大家帮忙 
      

  13.   

    使用filter吧。 把所有数据操作都通过filter转成utf-8.就不会出现了。
      

  14.   

    在项目中添加一个类
    filter类代码如下:
    package com.filter;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;public class EncodeFilter implements Filter { public void destroy() {
    // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);
    response.setCharacterEncoding("UTF-8");
    // TODO Auto-generated method stub } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub }}
    在web.xml中配置如下:
      <filter>
        <filter-name>encodefilter</filter-name>
        <filter-class>com.filter.EncodeFilter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>encodefilter</filter-name>
        <url-pattern>*.do</url-pattern> //这里根据你的action提交方法定义
      </filter-mapping>这样就可以了。
      

  15.   

    这里面说的:<url-pattern>*.do</url-pattern> //这里根据你的action提交方法定义根据什么action设置啊,我没有用到STRUTS