jsp中文显示问题
页面编码UTF-8数据库编码UTF-8
查询语句:select * from test where status like '%关闭%';
在本地运行正常;
上传服务器运行,语句没有执行;
在服务器上phpmyadmin运行查询语句正常,就只有在jsp中运行没有执行。
前辈,求解!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 先确定乱码的来源。可以用httpwatch或者action里打印出这个参数值。然后才有解决办法
如果是post过来就是乱码,那就是页面编码不对。
如果是发送查询语句才出现乱码,那就在连接字符串后面加上encoding。 --------------------编程问答-------------------- 楼上正解,先分析问题出现在哪,再着手解决! --------------------编程问答--------------------
没有出现乱码。应该是jsp的代码在数据库中执行,由于jsp页面的字符编码与数据库字符编码不同,无法识别jsp代码,所以数据库没有执行sql语句。但是不知道怎么解决? --------------------编程问答-------------------- jsp->传到java-->调用数据库
然后返回。。
传递的sql语句打印出来看看有没有错误、、 --------------------编程问答--------------------
语句应该没错,直接在数据库里运行输出结果也正常。应该就是where后面包含中文的条件语句,写成String sql时有问题。String sql=“select * from test where status like '%关闭%'”;这样写没错吧? --------------------编程问答-------------------- 代码贴出来看看。。。 --------------------编程问答--------------------
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
conn = DriverManager.getConnection(url,user,password);连接数据库没问题、
stat = conn.createStatement();
String sql="SELECT * FROM project WHERE p_ctime!="关闭" or (status ="关闭" and date>DATE_ADD(NOW( ),INTERVAL -1 DAY))";关闭的问题显示保留一天
rs = stat.executeQuery(sql);下来就是循环显示数据库数据 --------------------编程问答-------------------- 吧代码贴完整啊。。楼主。。。 --------------------编程问答--------------------
主要就这么点。就是一个简单的jsp,直接连接数据库,对数据进行查找显示,问题就出在查找语句中文的那部分。其他部分代码就是一些页面的显示,有点多。 --------------------编程问答-------------------- String sql="SELECT * FROM project WHERE p_ctime!='关闭' or (status ='关闭' and date>DATE_ADD(NOW( ),INTERVAL -1 DAY))";
改成这样试试。。
补充:Java , Web 开发