当前位置: 技术问答>java相关
一个老掉牙的中文问题
来源: 互联网 发布时间:2015-04-21
本文导语: 我数据库用的是Acess2002,在读出数据库字段的时候现示的是乱吗。 当我用sql语句 NickName=request.getParmeter("nickname"); "select * form member where nickname= "+NickName 我的数据库现有nickname字段,如下所示 nickname 111 112 当我从...
我数据库用的是Acess2002,在读出数据库字段的时候现示的是乱吗。
当我用sql语句
NickName=request.getParmeter("nickname");
"select * form member where nickname= "+NickName
我的数据库现有nickname字段,如下所示
nickname
111
112
当我从表单传nickname值为111后,却显示找不到111
但我把sql语句改为"select * form member"却能找到字段111和112
请问各位高手这个问题如何解决。
当我用sql语句
NickName=request.getParmeter("nickname");
"select * form member where nickname= "+NickName
我的数据库现有nickname字段,如下所示
nickname
111
112
当我从表单传nickname值为111后,却显示找不到111
但我把sql语句改为"select * form member"却能找到字段111和112
请问各位高手这个问题如何解决。
|
如果Nickname是字符型,=的情况应该这样写
"select * from member where nickname like '" + NickName + "'"
关于乱码的问题,试试下面的函数转化一下:
//中文编码的转换
public String toGb(String uniStr){
String gbStr = "";
if(uniStr == null){
uniStr = "";
}
try{
byte[] tempByte = uniStr.getBytes("ISO8859_1");
gbStr = new String(tempByte,"GB2312");
}catch(UnsupportedEncodingException uef){
}
return gbStr;
}
"select * from member where nickname like '" + NickName + "'"
关于乱码的问题,试试下面的函数转化一下:
//中文编码的转换
public String toGb(String uniStr){
String gbStr = "";
if(uniStr == null){
uniStr = "";
}
try{
byte[] tempByte = uniStr.getBytes("ISO8859_1");
gbStr = new String(tempByte,"GB2312");
}catch(UnsupportedEncodingException uef){
}
return gbStr;
}
|
"select * form member where nickname= '"+NickName+"'"
|
"select * from member where nickname like '%"+NickName+"%'"