js from表单中文提交会乱码,怎么解决,代码图下图,请高手说下怎么解决!
数字、字母提交都没事,输入中文提交就会是乱码!
第一种:
在request对象获取页面Charset中的“C”大写,且页面无中文字符,最好用英文,否则MyEclipse无法保存此页面编码(表单页面可以不大写“C”)<%@ page contentType="text/html;Charset=GB2312" %>
第二种:
tomcat4.x支持中文传码,但5.x不支持,如果用5.0以上的版本就得转码了,
就是这种格式
<%@ page contentType="text/html;charset=GB2312" %>
String strKeyWords=new String(request.getParameter("key_words").getBytes("iso8859_1"),"gb2312");
这个是我们的项目解决sqlserver中文乱码的方案,可以试试看
第三种:
在 jsp、servlet中 申明这个方法转换一下: (表单JSP页面的编码一定要GB2312,且 charset中的“c”小写,此方法JSP页面就可以写中文字符
即:<%@ page contentType="text/html;charset=GB2312" %>)
[java] view plain copy 在CODE上查看代码片派生到我的代码片
<%!public String handleString(String str){
try{
byte bb[]=str.getBytes("ISO-8859-1");
str=new String(bb);
}catch(Exception e){
System.out.println("字符转换失败"+e);
}
return str;
} %>
<%
String logname=request.getParameter("参数ID");
logname=handleString(logname);
%>
第四种:
在request对象获取提交的页面开头写(注意:此方法表单提交方式只能是post,而且表单页码的编码方式和request.setCharacterEncoding("utf-8");
必须保持一致)
<%@ page contentType="text/html; charset=utf-8"%>
<% request.setCharacterEncoding("utf-8"); %>
第一行是页面编码方式
第二行是传值编码方式
表单页面
[java] view plain copy 在CODE上查看代码片派生到我的代码片
<%@ page contentType="text/html; charset=utf-8"%>
<html>
<body>
<form method="post" action="2.jsp">
<div align="center">
<input type="text" name="name">
<input type="submit" name="Submit" value="Submit">
</div>
</form>
</body>
</html> </span>
request对象获取页面
[java] view plain copy 在CODE上查看代码片派生到我的代码片
<%@ page contentType="text/html; charset=utf-8"%>
<% request.setCharacterEncoding("utf-8"); %>
<html>
<body>
<%=request.getParameter("name")%>
</body>
</html></span>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。