欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JSP HTML JAVASCRIPT 中文亂碼 解決方案 大全
JSP的中文字符一直是各位初學(xué)者首先要解決的問(wèn)題,下面進(jìn)行了總結,也給出了解決辦法。

C4.1 HTML中文編碼轉換

 在JSP文件中的靜態(tài)文字顯示亂碼,則需要在<head></head>之間增加中文設置代碼,如清單附C-5所示。

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

 charset指定UTF-8字符集,當然也可以指定其他支持中文的編碼,如GBK和GB2312。但是整個(gè)Web應用中一定要統一一種編碼,本書(shū)推薦統一為UTF-8編碼。

C4.2 JSP中文編碼轉換

  針對Tomcat下動(dòng)態(tài)內容的中文亂碼問(wèn)題,有以下幾個(gè)解決辦法:

1. 在每個(gè)JSP文件的開(kāi)頭增加如下代碼:

<%@ page language="java" contentType="text/html;charset=UTF-8"

  pageEncoding="UTF-8"%>

2. 設置編碼參數:

request.setCharacterEncoding("UTF-8");

3. 使用編碼過(guò)濾器。創(chuàng )建過(guò)濾器類(lèi)SetCharacterEncoding,源碼如清單附C-5所示。

清單附C-5 SetCharacterEncoding.java

package chapc;

 

import java.io.IOException;

 

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

 

public class SetCharacterEncoding implements Filter {

 

  @Override

  public void destroy() {  

  }

 

  @Override

  public void doFilter(ServletRequest request, ServletResponseresponse,

  FilterChain chain) throws IOException, ServletException{

  //設置字符編碼

  request.setCharacterEncoding("UTF-8");

  //將控制傳到下一個(gè)過(guò)濾器,如果沒(méi)有過(guò)濾器則傳到被調用者

  chain.doFilter(request, response);

  }

 

  @Override

  public void init(FilterConfig arg0) throws ServletException{

  }

}

 過(guò)濾器類(lèi)還需要在web.xml中進(jìn)行配置,設定要過(guò)濾哪些請求。過(guò)濾器在web.xml中的配置如清單附C-6所示。

清單附C-6 web.xml片段

<filter>

 <filter-name>SetCharacterEncoding</filter-name>

 <filter-class>chapc.SetCharacterEncoding</filter-class>

</filter>

<filter-mapping>

 <filter-name>SetCharacterEncoding</filter-name>

 <url-pattern>/*</url-pattern>

</filter-mapping>

 方法1、方法2和方法3經(jīng)常需要使用,但它們一般不是獨立使用,而是兩兩結合:1和2結合;1和3結合。附錄A中的示例用到了1和2的結合。第四章Hibernate中的信息發(fā)布系統用到了1和3的結合。

4.修改Tomcat根目錄中conf子目錄下的server.xml文件,在中加入URIEncoding="UTF-8",如清單附C-7所示。

清單附C-7 server.xml片段

<Connector connectionTimeout="20000"

  port="8080"

  protocol="HTTP/1.1"

  redirectPort="8443"

  URIEncoding="UTF-8"/>

 該方法用來(lái)解決瀏覽器地址欄中的傳遞中文參數導致的亂碼問(wèn)題。瀏覽器地址欄傳遞參數(URL傳參)一般表現為三種情況:form表單的get方法提交、超鏈接傳參和response傳參。

Ø form表單提交方法是get:

<form action="registerProcess.jsp"method="get">

Ø 在超鏈接中傳遞中文參數:

<ahref="a.jsp?p=中文參數">超鏈接傳遞中文參數測試</a>

5. 如果是調用response.sendRedirect傳遞中文參數產(chǎn)生的亂碼,如:

response.sendRedirect("a.jsp?p=中文參數");

請修改成如:

<% //引入URLEncoder %>

<%@pageimport="java.net.URLEncoder"%>

<%

String p = "中文參數";

//對中文參數編碼

p = URLEncoder.encode(p, "UTF-8");

response.sendRedirect("a.jsp?p=" + p);

%>

以解決亂碼問(wèn)題。

  如果方法4還不能解決某些超鏈接傳參亂碼問(wèn)題,請使用方法5,如下:

<%@pageimport="java.net.URLEncoder"%>

<%

String p = "中文參數";

//對中文參數編碼

p = URLEncoder.encode(p, "UTF-8");

%>

<a href="a.jsp?p=<%=p%>">超鏈接傳遞中文參數測試</a>

6. JavaScript中如果出現URL傳參亂碼問(wèn)題,如:

open("a.jsp?p=中文參數");

請修改成:

<script type="text/javascript">

function openWindow()

{

  var url = "a.jsp?p=中文參數"; 

  url = encodeURI(url);

  open(url);

}

</script>

<input type="button" value="JavaScript中文參數"

  onclick="openWindow();">

以解決亂碼問(wèn)題。

JavaScript中的open方法打開(kāi)瀏覽器窗口,傳遞參數,其本質(zhì)也是URL傳參。一般方法4就可以很好的解決中文參數亂碼問(wèn)題。如果方法4不生效,才考慮方法六。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JS中頁(yè)面跳轉,傳值包含中文時(shí)亂碼解決方案
JSP中文亂碼問(wèn)題終極解決方案【面試+工作】
JSP中文亂碼解決方案-Tomcat5.0版
jsp編碼問(wèn)題_生活
JSP編碼以及亂碼解決總結
JSP亂碼雜談
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久