精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

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

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

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

C4.1 HTML中文編碼轉(zhuǎn)換

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

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

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

C4.2 JSP中文編碼轉(zhuǎn)換

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

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

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

  pageEncoding="UTF-8"%>

2. 設(shè)置編碼參數(shù):

request.setCharacterEncoding("UTF-8");

3. 使用編碼過(guò)濾器。創(chuàng)建過(guò)濾器類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{

  //設(shè)置字符編碼

  request.setCharacterEncoding("UTF-8");

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

  chain.doFilter(request, response);

  }

 

  @Override

  public void init(FilterConfig arg0) throws ServletException{

  }

}

 過(guò)濾器類還需要在web.xml中進(jìn)行配置,設(shè)定要過(guò)濾哪些請(qǐng)求。過(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)常需要使用,但它們一般不是獨(dú)立使用,而是兩兩結(jié)合:1和2結(jié)合;1和3結(jié)合。附錄A中的示例用到了1和2的結(jié)合。第四章Hibernate中的信息發(fā)布系統(tǒng)用到了1和3的結(jié)合。

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

清單附C-7 server.xml片段

<Connector connectionTimeout="20000"

  port="8080"

  protocol="HTTP/1.1"

  redirectPort="8443"

  URIEncoding="UTF-8"/>

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

Ø form表單提交方法是get:

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

Ø 在超鏈接中傳遞中文參數(shù):

<ahref="a.jsp?p=中文參數(shù)">超鏈接傳遞中文參數(shù)測(cè)試</a>

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

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

請(qǐng)修改成如:

<% //引入U(xiǎn)RLEncoder %>

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

<%

String p = "中文參數(shù)";

//對(duì)中文參數(shù)編碼

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

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

%>

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

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

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

<%

String p = "中文參數(shù)";

//對(duì)中文參數(shù)編碼

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

%>

<a href="a.jsp?p=<%=p%>">超鏈接傳遞中文參數(shù)測(cè)試</a>

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

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

請(qǐng)修改成:

<script type="text/javascript">

function openWindow()

{

  var url = "a.jsp?p=中文參數(shù)"; 

  url = encodeURI(url);

  open(url);

}

</script>

<input type="button" value="JavaScript中文參數(shù)"

  onclick="openWindow();">

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

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

聯(lián)系客服

主站蜘蛛池模板: 清远市| 汶川县| 鄂尔多斯市| 武胜县| 丁青县| 临清市| 海兴县| 昌宁县| 五寨县| 眉山市| 石家庄市| 班戈县| 东方市| 房产| 永城市| 八宿县| 贡觉县| 甘孜县| 克拉玛依市| 曲靖市| 平乡县| 富宁县| 临泽县| 图木舒克市| 武安市| 化德县| 高淳县| 米易县| 屯昌县| 新野县| 德惠市| 林西县| 五台县| 阿拉尔市| 巴楚县| 武强县| 那曲县| 广昌县| 江山市| 苏尼特左旗| 巴彦淖尔市|