報表管理軟體中超鏈到網頁傳遞的中文亂碼問題

在使用超級連結到網頁傳遞參數時,若值中有中文,會出現亂碼,如下圖所示,那麼如何傳遞讓傳遞的中文值不出現亂碼呢?下面就通過報表管理軟體FineReport來簡單介紹。

工具/原料

報表管理軟體FineReport7.1.1
大小:148.2M 適用平台:windows/linux

方法/步驟

修改超級連結

在超級連結中增加一個參數,參數名為NAME,參數值為=B2,如下圖:

網頁修改

在獲取參數中增加如下代碼:

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>

效果查看

啟動tomcat伺服器,預覽模板,點擊超級連結,可以看到對應的中文正常顯示了,如下圖:

原作者:FineReport

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場