JSP提交的时候不能支持中文,显示出来是乱码,所以也不能查询数据库,希望大家帮帮忙

问题描述

这是login.jsp页面代码:<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pageimport="java.sql.*"%><%request.setCharacterEncoding("utf-8");StringNo="";StringName="";StringLesson="";StringMsg="";if(request.getParameter("Name")!=null){No=request.getParameter("No");Name=request.getParameter("Name");Lesson=request.getParameter("Lesson");StringSQL="SELECT*From成绩单";SQL=SQL+"Where学号="+"'"+No+"'"+"And姓名="+"'"+Name+"'";Connectionconn=null;Statementstmt=null;ResultSetrsScore=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){out.println(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:odbc:test");stmt=conn.createStatement();rsScore=stmt.executeQuery(SQL);}catch(SQLExceptione){System.out.println(e.getMessage());}if(!rsScore.next()){Msg="你不是合法考生";}else{if(rsScore.getInt(Lesson)!=-1){Msg="你已经考过本科目了";}else{response.sendRedirect("test.jsp?Lesson="+Lesson+"&Name="+Name+"&No="+No);}}}%><HTML><metaHTTP-EQUIV="Content-type"content="text/html;charset=gb2312"><BODYBGCOLOR="BEIGE"><H1ALIGN="CENTER">在线考试系统</H1><HR><FORMACTION="login.jsp"METHOD="post"><P>考试科目:<SELECTNAME="Lesson"SIZE="1"><OPTIONVALUE="JSP">JSP</OPTION><OPTIONVALUE="XML">XML</OPTION></SELECT></P><P>姓名:<INPUTTYPE="TEXT"NAME="Name"VALUE="<%=Name%>"></P><P>学号:<INPUTTYPE="TEXT"NAME="No"VALUE="<%=No%>"></P><P><INPUTTYPE="SUBMIT"NAME="SEND"VALUE="开始考试"></P></FORM><HR><FONTColor="red"><%=Msg%></FONT></BODY></HTML>它会提交到test.jsp代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pageimport="java.sql.*"%><%request.setCharacterEncoding("utf-8");StringNo="";StringName="";StringLesson="";StringMsg="";if(request.getParameter("Name")!=null){No=request.getParameter("No");Name=request.getParameter("Name");Lesson=request.getParameter("Lesson");StringSQL="SELECT*From成绩单";SQL=SQL+"Where学号="+"'"+No+"'"+"And姓名="+"'"+Name+"'";Connectionconn=null;Statementstmt=null;ResultSetrsScore=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){out.println(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:odbc:test");stmt=conn.createStatement();rsScore=stmt.executeQuery(SQL);}catch(SQLExceptione){System.out.println(e.getMessage());}if(!rsScore.next()){Msg="你不是合法考生";}else{if(rsScore.getInt(Lesson)!=-1){Msg="你已经考过本科目了";}else{response.sendRedirect("test.jsp?Lesson="+Lesson+"&Name="+Name+"&No="+No);}}}%><HTML><metaHTTP-EQUIV="Content-type"content="text/html;charset=gb2312"><BODYBGCOLOR="BEIGE"><H1ALIGN="CENTER">在线考试系统</H1><HR><FORMACTION="login.jsp"METHOD="post"><P>考试科目:<SELECTNAME="Lesson"SIZE="1"><OPTIONVALUE="JSP">JSP</OPTION><OPTIONVALUE="XML">XML</OPTION></SELECT></P><P>姓名:<INPUTTYPE="TEXT"NAME="Name"VALUE="<%=Name%>"></P><P>学号:<INPUTTYPE="TEXT"NAME="No"VALUE="<%=No%>"></P><P><INPUTTYPE="SUBMIT"NAME="SEND"VALUE="开始考试"></P></FORM><HR><FONTColor="red"><%=Msg%></FONT></BODY></HTML>

解决方案

解决方案二:
不要以为你声明了编码是utf-8他就是了,还要保证你的文本编辑器也是utf-8。比如,你的文本编辑器是2312,但是你提交的却是utf-8,会如何?
解决方案三:
试试换为GBK或者gb2312

时间: 2024-09-20 00:03:25

JSP提交的时候不能支持中文,显示出来是乱码,所以也不能查询数据库,希望大家帮帮忙的相关文章

jsp的&amp;amp;lt;object /&amp;amp;gt;标签可以支持中文吗?如何设置?

问题描述 jsp的<object/>标签可以支持中文吗?如何设置? 解决方案 解决方案二:这是神马意思.解决方案三:没明白啥意思!

用ajax传递json到前台中文出现问号乱码问题的解决办法

我使用的Springmvc,在controller层传输一个json到前台,后台显示没问题,中文正常显示而到了前台 中文就变成了问号. 后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码. 这里我使用了注解来解决: @RequestMapping(value="/echarts.do", produces =

new-在servlet中获取jsp提交的超链接中文乱码问题

问题描述 在servlet中获取jsp提交的超链接中文乱码问题 用的tomcat7.0 请问在jsp中提交超链接时带有中文参数,为什么在servlet中一直取得都是乱码,我已经改了jsp页面和servlet中的编码方式都是utf-8,同时我也改了tomcat7.0 中的server.xml文件将编码方式设置为utf-8,为什么还是乱码?我也在servlet中用网上的方法 new String(str.getBytes("ISO-8859-1"),"UTF-8")进行

在Unix/Linux上令(java)JVM支持中文输出

unix|中文 原文: 在Unix/Linux上令(java)JVM支持中文输出 一.在Unix/Linux上令JVM支持中文输出 如果用户使用的是UNIX的远程服务器,就会遇到中文字体在图像中输出的问题,特别是由于许多管理员并不喜欢把主机的locale定为zh(因为意味着可能出乱码或必须装微形图形终端象zhcon,但很多情况下这样的条件并不具备).大部分程序员的JAVA经验苟限于JSP脚本程序,部分熟练的程序员大概开发过中间件.servlet.applet或在WINDOWS上运行的GUI程序.

TOMCAT+JIVE的安装配置(支持中文)

中文 0.已经安装了APACHE及JDK.否则安装之.本机安装版本为apache1.3,JDK为1.3.1(不能使用JDK1.4.0,因为在后面JIVE的安装中在编译一个JAVA文件的时候会遇到类申明重叠的问题,缘于jdk1.4.0的java.sql包和java.beans包都包含类Statement,而在jdk1.3.1中,java.beans包不包含Statement类,而该文件导入包的方式为: import java.sql.*; import java.beans.*;) 1.下载TOM

英文的服务器不支持中文及中文数据库的最新解决办法 [转帖

服务器|解决|数据|数据库|中文 英文的服务器不支持中文及中文数据库的解决办法 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configuration> <globalization requestencoding="utf-8" responseencoding="utf-8&

英文的服务器不支持中文及中文数据库的解决办法

英文的服务器不支持中文及中文数据库的解决办法 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configuration> <globalization requestencoding="utf-8" responseencoding="utf-8" /> </

如何让Nginx支持中文文件名

  首先得让你的系统有中语语言包: 设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置.如果显示其他编码需要按如下步骤设置. CentOS 编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi.nano或winscp图形管理软件,依个人口味选择) LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 保存,重启系统. Debian apt-get in

使Nginx服务器支持中文URL的相关配置详解_nginx

关于中文URL已经是老话题了,到目前为止依然有很大一部分SEOer都会说不要使用中文URL,对搜索引擎不友好. 不过,那已经是以前的事了,谷歌很早就支持了中文URL,当时百度技术没有跟上,URL中会出现乱码. 在谷歌的算法中,URL包含关键字是会给页面赋予一定权重的,英文是,中文也是,朽木猜测百度之前没有给予中文URL权重,可能是因为识别的问题. 经过一些简单的测试,朽木发现中文URL中包含关键字,对百度SEO有很积极的影响. 不过需要注意的是最好使用UTF8编码,虽然百度有了"一定的识别能力&