超级链接到网页传递的中文乱码

编辑
  • 文档创建者:印然
  • 浏览次数:8327次
  • 编辑次数:8次
  • 最近更新:Kevin-s 于 2019-06-20
  • 1. 问题描述

    在使用超级链接到网页传递参数时,若值中有中文,会出现乱码,如下图所示,那么如何传递让传递的中文值不出现乱码呢?

    2. 实现思路

    由于 FR 中的超级链接传递过来的参数被编码过了,所以在 jsp 页面中获取该参数时,需要通过 java.net.URLDecoder.decode 进行解码。

    3. 示例

    打开上一节中的模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链传递网页参数.cpt

    3.1 修改超级链接

    在超级链接中增加一个参数,参数名为 NAME,参数值为=B2,如下图:


    已完成模板请参照%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链到网页传递中文转码.cpt

    3.2 网页修改

    在获取参数中增加如下代码:

    String NAME = java.net.URLDecoder.decode(request.getParameter("NAME"),"UTF-8"); //将NAME参数的值进行解码

    注:若 ID 和 TELEPHONE 也有中文,也可以通过此方法进行反编码。

    完整代码如下:


    <%@ page language="java" pageEncoding="GBK"%>  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <%  
       String ID = java.net.URLDecoder.decode(request.getParameter("ID"),"UTF-8");  
       String NAME =java.net.URLDecoder.decode(request.getParameter("NAME"),"UTF-8");  
       String TELEPHONE = java.net.URLDecoder.decode(request.getParameter("TELEPHONE"),"UTF-8");  
    %>  
    <html>  
      <head>  
        <title>修改基本参数</title>  
      </head>  
      <body>  
        <table  width="350" border="0" cellspacing="1" cellpadding="5px">  
          <tr>  
            <th width="130">运货商编码:</th><td width="208"><input type="text" id="ID" value="<%=ID %>" disabled/></td>  
          </tr>  
          <tr>  
            <th>公司名称:</th><td><input type="text" id="NAME" value="<%=NAME %>"/></td>  
          </tr>  
          <tr>  
          <th>电话:</th><td><input type="text" id="TELEPHONE" value="<%=TELEPHONE %>"/></td>  
          </tr>  
       </table>  
      </body>  
    </html>

    3.3 效果查看

    启动 Tomcat 服务器,预览模板,点击超级链接,可以看到对应的中文正常显示了,如下图:

     

    在线查看示例效果请点击 超链到网页传递中文转码 .cpt


    附件列表


    主题: 报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]