为什么用JAVA的HTTP递交给JAVAServlet生成JSP页面的时候,中文变成乱码了,我已经用了CHARSET=UTF-8等等了

原创 2007年09月29日 21:13:00
 
发表于:2007-09-19 14:32:41 楼主
请问高手为什么用JAVA的HTTP递交给JAVAServlet生成JSP页面的时候,中文变成乱码了,我已经用了CHARSET=UTF-8等等了。
如果你用struts可以参考一下
jsp:
      <head >
       
        <title > <bean:message   key="statusercompose.application.title"   bundle="statusercompose"/ > </title >
<%
request.setCharacterEncoding("UTF-8");

//   系统的环境变量
String   path   =   request.getContextPath();
    String   basePath   =   request.getScheme()   +   "://"   +   request.getServerName()   +   ":"   +   request.getServerPort()   +   path;
    String   servletPath   =   request.getServletPath();
   
% >


<script   type="text/javascript" >

var   rootUrl=" <%=basePath% >";

//
var   GEId   =   function(eID)   {
return   document.getElementById(eID);
}


//
function   check_form(){
var   issueNo=GEId("_issueNo").value;
if   (issueNo==""){
alert("请输入期号!");
GEId("_issueNo").focus();
}else{

var   showType=GEId("showType").value;
var   province=GEId("__province").value;
var   city=GEId("__city").value;
var   county=GEId("__county").value;
GEId("proCode").value=province;
GEId("cityCode").value=city;
GEId("countyCode").value=county;

if   (showType==0){
document.forms[0].action=" <%=basePath% >/statUserCompose.do?method=getStatUserCompose_Table";
document.forms[0].submit();
}else{
document.forms[0].action=" <%=basePath% >/statUserCompose.do?method=getStatUserCompose_Chart";
document.forms[0].submit();
}

}
}


</script >


</head >
    <html:form   styleId="form1"   action="/statUserCompose"   method="post" >
    <input   type="hidden"   name="pressCode" >
    <input   type="hidden"   name="pressName" >
    </html:form >
<input   type="button"   class="bt-2ch"   name="b_query"   value="查询"   onClick="check_form();" >  
注:pressName是中文,我要把它传到后台做处理;用http参数的方式和用加过滤器的方式得到的结果都是乱码
通过用js以表单提交的方式进行处理,就不会出现乱码
 
后台:
/*以表格的方式显示*/
public   ActionForward   getUserCompose_Table(ActionMapping   mapping,   ActionForm   form,
HttpServletRequest   request,   HttpServletResponse   response)   throws   WebException{

sucForm   =   (StatUserComposeForm)   form;//   TODO   Auto-generated   method   stub

String   validYear=sucForm.getValidYear();
String   pressCode=sucForm.getPressCode();
String   pressName=sucForm.getPressName();
String   districtCode=sucForm.getDistrictCode();
String   serviceId=sucForm.getServiceId();
String   readerClass=sucForm.getReaderClass();

String   issueNo=sucForm.getIssueNo();
String   proName=sucForm.getProName();
String   cityName=sucForm.getCityName();
String   countyName=sucForm.getCountyName();


service   =   (IStatUserComposeService)   this.getService();

sucForm.setValidYear(validYear);
sucForm.setPressCode(pressCode);
sucForm.setPressName(pressName);
sucForm.setServiceId(serviceId);
sucForm.setIssueNo(issueNo);
sucForm.setProName(proName);
sucForm.setCityName(cityName);
sucForm.setCountyName(countyName);
sucForm.setDistrictCode(districtCode);

request.setAttribute("sucForm",   sucForm);

List <? >   totalList=null;


addMessage("message.common","发行量趋势分析检索完毕!");
//设置查询后的结果集
request.setAttribute("result",totalList);
return   mapping.findForward("table");
}

变量pressName得到正确结果
 

【HTML】明明加了<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />却还是乱码的可能原因

按理说,右键新建一个文本文档,并且把“新建文本文档.txt”改名成"1.html", 然后再于里面写入: 中文 是一点问题没都没有了的, 可是,部分浏览器打开这个1.html却发现乱码,或...

HTML页面为什么设置了UTF-8仍然中文乱码

如题,其实问题很简单,在用EditPlus写html页面的时候,发现设置为UTF-8的时候仍然出现了乱码, 这是一个很奇怪的问题,而且我完全考虑了浏览器的解析问题,将title放在了了meta标签之...
  • wuha0
  • wuha0
  • 2014年11月18日 09:31
  • 2524

HTML页面为什么设置了UTF-8仍然中文乱码

点击打开链接 如题,其实问题很简单,在用EditPlus写html页面的时候,发现设置为UTF-8的时候仍然出现了乱码, 这是一个很奇怪的问题,而且我完全考虑了浏览器的解析问题,将ti...

Java读取txt或其他文件以UTF-8格式输出的时候,第一行代码出现“?”乱码的原因及解决方案!

Java读取txt或其他文件以UTF-8格式输出的时候,第一行代码出现“?”乱码的原因及解决方案!...
  • jspping
  • jspping
  • 2016年04月28日 16:16
  • 2596

HTML页面为什么设置了UTF-8仍然中文乱码

如题,其实问题很简单,在用EditPlus写html页面的时候,发现设置为UTF-8的时候仍然出现了乱码, 这是一个很奇怪的问题,而且我完全考虑了浏览器的解析问题,将title放在了了meta标签之后...

关于response.setContentType("text/html; charset=UTF-8");乱码问题

关于response.setContentType("text/html; charset=UTF-8");乱码问题
  • VipMao
  • VipMao
  • 2016年04月08日 14:01
  • 7418

编码,charset,乱码,unicode,utf-8与net简单释义(转)

来自;:http://tsoukw.cnblogs.com/archive/2006/07/13/449588.html 正式解释;:http://www.cppblog.com/mzty/arch...

MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码

在MyEclispe中创建Jsp页面,Jsp页面的默认编码是“ISO-8859-1”,如下图所示: 在这种编码下编写中文是没有办法保存Jsp页面的,会出现如下的错误提示: 因此可以设置Js...

在MyEclipse中设置jsp页面为默认utf-8编码

MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码 在MyEclispe中创建Jsp页面,Jsp页面的默认编码是“ISO-8859-1”,如下图所示: ...

MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码

摘自:http://www.cnblogs.com/xdp-gacl/p/3496161.html 在MyEclispe中创建Jsp页面,Jsp页面的默认编码是“ISO-8859-1”,如下图所示:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么用JAVA的HTTP递交给JAVAServlet生成JSP页面的时候,中文变成乱码了,我已经用了CHARSET=UTF-8等等了
举报原因:
原因补充:

(最多只允许输入30个字)