在java类中写带中文的sql语句,查询结果为空

问题描述

在java类中写带中文的sql语句,查询结果为空

String query="select * from Restaurant where Restaurant_name='紅樹林';";
rs=stm.executeQuery(query);
这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false )

如果改用id查询,即:
String query="select * from Restaurant where Restaurant_id='1';";
就能查询到结果

如果在mysql的workbench中输入这条命令:
select * from Restaurant where Restaurant_name='紅樹林';
也能查询到结果

从页面接受参数到servlet再到数据库类我都查看过了,restaurant_name,都是没有乱码的。所以我之间就在那条sql语句中打入搜索的餐厅名,结果还是查询不出结果。
请问要怎么办呢!

解决方案

开启一下mysql执行的sql记录
http://jingyan.baidu.com/article/4f34706ee3e700e387b56dd7.html
然后看最终通过java方式再数据库中执行的sql是什么样的。
是不是繁体字引起的

解决方案二:

String query="select * from Restaurant where Restaurant_name='紅樹林';";
试试下面这样
String query="select * from Restaurant where Restaurant_name='紅樹林'";

解决方案三:

在连接数据库时的characterEnCoding也应设为UTF-8

解决方案四:

show variables like 'character%'; 看mysql的编码,看看是不是编码问题

解决方案五:

把你的sql语句打印,比较一下,不就知道 了吗! 亲

解决方案六:

为什么 sql里总有个分号, 你是发错了,还是怎么回事?
这是你用程序调用的sql :String query="select * from Restaurant where Restaurant_name='紅樹林';";
这是你在sql工具里直接执行的sql: select * from Restaurant where Restaurant_name='紅樹林';
你觉得这俩结果能一样吗

解决方案七:

mysql字符集问题,当执行sql时,传入中文是乱码,而在MySQL工具中使用中文是可以的

时间: 2024-10-04 03:07:22

在java类中写带中文的sql语句,查询结果为空的相关文章

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

问题描述 如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写? 将查询的的返回值为整型 参考用例 类似 以下方法查询政治类新闻人数 新手不知道该如何改动成自己需要的方法 public Map<String, Long> sumPolEntNews(){ //查询政治类新闻人数总和 String sql = "select count(*) from t_user where newsh ='政治类新闻' "; Map<String, Long> m

oracle-Oracle中如何只用一条sql语句查询下面的例子

问题描述 Oracle中如何只用一条sql语句查询下面的例子 解决方案 select_statement UNION [ALL] selectstatement [UNION [ALL] selectstatement][-n]其中selectstatement为待联合的SELECT查询语句.用联合查询足以 解决方案二: 这个只能在后台代码判断并组装语句,然后联表查询 解决方案三: Oracle SQL语句查询例子用一条SQL语句查询分组前三名数据常用的sql语句查询例子

怎么实现javascript中调用java类中的方法

问题描述 body中部分代码如:<center><font size="4" color="red">吊灯</font> <input type="button" id="diaodeng" value=<%=state[0]%> onclick="dianji1()"><br><br><br><br>

php中解析带中文字符的url函数分享

 这篇文章主要介绍了php中解析带中文字符的url函数分享,本文直接给出实现代码,重点是对rawurlencode函数的使用上,需要的朋友可以参考下     很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接撞上一个大大的"404",会很无语. 这里写了一个小函数来解决这个问题,只是限于在path中进行解析而已,涉及到的相关函数使用大家可以查看手册就行

java类中方法调用问题

问题描述 java类中方法调用问题 import java.awt.*;import javax.swing.*;import java.awt.event.*; public class TestTextComponent extends JFrame { private JTextField textField = new JTextField(15); private JPasswordField passwordField = new JPasswordField(15); privat

java类的问题-java类中的返回语句提取

问题描述 java类中的返回语句提取 interface Car{ String getName(); int getPrice(); int getQuan(); int getIndividualSales(); } class CarShop{ private int money_a=0; private int money_b=0; public void saleCar(Car car){ System.out.println("品牌"+car.getName()+"

Java类中的构造函数?

问题描述 Java类中的构造函数? class Circle { double radius; Circle() { radius = 1.0; } Circle(double newRadius) { radius = newRadius;//为什么不写成 newRadius = radius? } } 解决方案 可以是可以,但是如果是newRadius = radius,则代表将radius的值赋给newRadius,在初始化的时候Circle circle = new Circle(11)

java 类-Java 类中的属性存储问题

问题描述 Java 类中的属性存储问题 Java中的方法存储在全局代码区之中,那么类中的属性存储在哪里呢?(父子类中同名的方法会被辅写,但是同名的属性却毫无影响?) 解决方案 父类属性可以继承,但不可以覆盖的.java中属性及类的定义信息都会被放在方法区中 解决方案二: Java中的存储问题关于java中的存储问题java继承 父类子类方法调用问题 属性和静态方法是没有多态的 解决方案三: java中的变量存在栈中 解决方案四: 变量和属性都是存储在栈中,,对象都是存储在堆中所以对象的属性重名是

java类-JAVA类中赋值问题,需要解释一下谢谢啦

问题描述 JAVA类中赋值问题,需要解释一下谢谢啦 class Test{ private DBUtil db=new DBUtil; private Connection conn=db.getConnect();//这些方法都有,getConnect是自己写的获得连接的方法,这样写是没有问题的. //接下来写各种方法 public xxxx(){} } class Test{ private DBUtil db=new DBUtil; private Connection conn=null