我的页面也是utf-8
页面的代码
<html:form action="/addacticle?action_type=act_update&actId=${actlist.acticleId}&actTitle=${actlist.actTitle }" >
    <html:submit>修改</html:submit>
提交到action
String actTitle = new String(request.getParameter("actTitle").getBytes("ISO_8859_1"),"UTF-8");
是这样接收的,当actTitle 是单数汉字就会出错,为什么呢
比如说actitle的值是包”情报“就出现乱码
如果是“程式先锋”就没问题,这个问题如何解决
如果我jsp的页面用成gbk编码,action中也用gbk编码接收就不出错误
我想全部用utf-8,怎么解决

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sjzpc040529】截止到2008-07-15 11:23:52的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:440                      每贴平均分数:44                       
    回帖的总数量:16                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:7                        结贴的总分数:260                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:3                        未结的总分数:180                      
    结贴的百分比:70.00 %               结分的百分比:59.09 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    UTF-8 三字节
    ISO_8859_1 两字节
      

  3.   

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>在jsp头部加上这个,另外,这个jsp文件也建议是 utf-8格式,如果用eclipse的话,你在preference的d左边打上jsp去下request.setCharactor("utf-8");
    String actTitle = request.getParameter("actTitle");
    ................String actTitle = new String(request.getParameter("actTitle").getBytes("ISO_8859_1"),"UTF-8")
     这个似乎已经没必要了
      

  4.   

    如果是用查询字符串中有中文的话,最好用encodeURI来encode一下,当提交到action中后应该不需要做特殊处理了,你也可以用java的URLDecode类把它decode(string,"utf-8");一下..
      

  5.   

    因为你无法确定浏览器帮你把汉字到底是用什么编码来encode的,所以才要加encodeURI
      

  6.   

    页面上使用JS的encode将编码转换为UTF-8。 
    后台使用java.net.URLDecoder的decode方法,将接收到的uri转换回指定编码。 
    例如: 
    在JS中:url = encodeURI(url); //将url转码 后台:URLDecoder.decode(qryStr, "UTF-8"); // URL解码(此处必须是UTF-8) 
      

  7.   

    <html:form action="/addacticle?action_type=act_update&actId=${actlist.acticleId}&actTitle=${actlist.actTitle }" >
      <html:submit>修改 </html:submit> 换成form提交。如果是tomcat可以加上:URIEncoding="UTF-8".
      

  8.   

    ok了,谢谢各位,我采用12楼的发现可以,但是要修改我的form里面的action
    采用5楼的写判断也可以,谢谢
      

  9.   

    这是 IE 下存在的问题,在 Firefox 上没有这个问题,为了兼容性起见,
    可以采用 7、8、9、10 楼的方法,采用 URL 编码,并在 server.xml 中
    进行配置。