java getparameter 乱码_request.getParameter取textarea中文乱码问题

已结贴√

问题点数:20 回复次数:7

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

request.getParameter取textarea中文乱码问题

--%>

//得到一个数据库的连接

Connection getConnection() throws SQLException

{

//定义驱动程序

String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";

//定义连接的数据库

String CONNSTR="jdbc:sqlserver://localhost:1433;DatabaseName=XDCTY";

String userName="sa";

String userPwd="wplmj9*";

try{

Class.forName(DBDRIVER);

}

catch(ClassNotFoundException ex)

{

ex.printStackTrace(System.err);

}

//return DriverManager.getConnection(CONNSTR,userName,userPwd);

return DriverManager.getConnection(CONNSTR,userName,userPwd);

}

//判断一个字符串是否为空

boolean isEmptyString(String str)

{

return str==null || str.length()==0||str.trim().length()==0;

}

%>

--%>

资源宝(自定义查询)

TD,INPUT,SELECT{FONT-SIZE:12px}

function checkvalue()

{

if(document.forms("main").sql.value.length==0)

{

alert("请输入要执行的SQL语句");

document.fors("main").sql.focus();

return false;

}

}

资源宝(自定义查询)

请输入要执行的SQL语句

οnsubmit="return checkvalue();">

资源宝数据展示

资源宝(地图展示)


//获得用户输入的SQL语句——就是下面这两行错误。

String sql=request.getParameter("sqlA");

sql=new String(sql.getBytes("ISO-8859-1"),"UTF-8");

//sql = new String(sql.getBytes("iso-8859-1"),"UTF-8");

//    String sql = (request.getParameter("sqlA"),"UTF-8");

if(!isEmptyString(sql))

{

out.println("您所执行的SQL语句为:"+sql+"
");

Connection conn=null;

Statement st=null;

ResultSet rs=null;

try

{

conn=getConnection();

st=conn.createStatement();

if(st.execute(sql))

{

//执行结果为ResultSet()

rs=st.getResultSet();

//得到ResultSet的列数目

ResultSetMetaData rsmd=rs.getMetaData();   ///得到结果集的结构信息,比如字段数、字段名等

int nColumnCount=rsmd.getColumnCount();        //返回字段个数

out.println("您的查询结果为:
");

out.println("

out.print("

");

for(int i=1;i<=nColumnCount;i++)

{

out.println("

"+rsmd.getColumnName(i)+"");    //getColumnName得到列名

}

out.println("

");

while(rs.next())

{

out.println("

");

for(int i=1;i<=nColumnCount;i++)

{

out.println("

"+rs.getString(i) +"");

}

out.println("

");

}

}

else

{

//执行结果为正数

out.println("更新记录的数目为:"+st.getUpdateCount());

}

}

catch(SQLException ex)

{

out.println(ex);

}

finally

{

//关闭、释放资源

try

{

if(rs!=null)

rs.close();

}catch(Exception ex){}

try{

if(st !=null)

st.close();

}

catch(Exception ex){}

try{

if(conn !=null)

conn.close();

}

catch(Exception ex){}

}

}

%>

————————本人在server.xml中配置了 URIEncoding="utf-8",如下配置:

port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="utf-8"/>

之前调试是可以的,但今天再用发现request.getParameter取textarea里面的中文时,中文是乱码问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值