request.setCharacterEncoding("UTF-8");
ResultSet rs = null;
Connection conn = null;
Statement stmt = null;
String Name="已出库";
try {
int pag = 0;
int num = 0;
int tsum = 0;
int intpag = 0;
String strpag = request.getParameter("pag");


Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql:///logistics", "root", "root");
String sql = "select count(*)  totalCount from allsort_menu where SortState= '"+Name+"'";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
sql的值select count(*)  totalCount from allsort_menu where SortState= '已出库'报错You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where SortState= '已出库'' at line 1

解决方案 »

  1.   

    连接的url加上编码试试
    jdbc:mysql:///logistics?useUnicode=true&characterEncoding=UTF-8
      

  2.   

    你转一下码,类似于这样String strpag = URLDecoder.decode(req.getParameter("strpag"),"UTF-8");
      

  3.   

    楼上加一,可以用URLDecoder.decode进行解码
      

  4.   

    去掉最上面的request.setCharacterEncoding("UTF-8");
      

  5.   

    request.setCharacterEncoding("UTF-8");是用来后台接受request请求时进行编码,
    这里jsp直接请求数据库查询,只要检查自己的文件编码是否是GBK,
    因为jsp文件会编译成java文件,如果编译完java是正确的中文,就不会有乱码,
    可以去找下jsp对应的java文件查看是否已经是乱码了