欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Web開發(fā)項(xiàng)目中中文亂碼解決方法匯總

 更新時(shí)間:2016年05月18日 15:34:50   作者:剩菜剩飯  
這篇文章主要為大家詳細(xì)匯總了Java Web開發(fā)項(xiàng)目中中文亂碼的解決方法,分析了5種Java Web中文亂碼情況,感興趣的小伙伴們可以參考一下

Java Web項(xiàng)目中,解決中文亂碼方法總結(jié)如下

第一種情況:調(diào)用jsp頁面中文顯示亂碼
問題描述:通過瀏覽器調(diào)用jsp頁面,在瀏覽器中顯示的中文內(nèi)容出現(xiàn)亂碼。
解決方法:首先確認(rèn)本jsp在編輯器中保存文件內(nèi)容時(shí),使用的是utf-8的編碼格式,然后在jsp頁面的開始處添加<%@ pageEncoding="utf-8"%>就可以解決這種中文亂碼問題

第二種情況:調(diào)用servlet頁面顯示亂碼
問題描述:通過瀏覽器調(diào)用servlet,servlet在瀏覽器中顯示的內(nèi)容出現(xiàn)亂碼。
解決方法:在servlet使用response對象輸出前,先執(zhí)行response.setContentType("text/html;charset=utf-8");設(shè)定輸出內(nèi)容的編碼為utf-8。

第三種情況:post表單傳遞參數(shù)亂碼
問題描述:通過jsp,html,或servlet中的表單元素把參數(shù)提交給對應(yīng)的jsp或者servlet時(shí),在接收的jsp或servlet中接收到的參數(shù)中文顯示亂碼。
例如:
提交jsp代碼如下:

<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>輸入表單</title>
</head>
<body>
<form id="inputForm" name="inputForm" method="post" action="display.jsp">
  用戶名:<input type="text" name="username"/><br/>
  密 碼 :<input type="password" name="password"/><br/>
  <input type="submit" name="submit" value="提交"/>
</form>
</body>
</html>

接收參數(shù)的jsp代碼如下:

<% @ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<tilte>接收表單</title>
</head>
<body>
  <% 在這里插入
   request.setCharacterEncoding("utf-8");
  %>
  用戶名:<%=request.getParameter("username")%><br/>
  密  碼:<%=request.getParameter("password")%><br/>
</body>
</html>

解決方法:在接收post提交的參數(shù)前,使用request.setCharacterEncoding("utf-8")設(shè)定接收參數(shù)的內(nèi)容格式為utf-8編碼。見接收表單中的插入內(nèi)容即可。當(dāng)然這種亂碼問題最好使用中文過濾器的方法最好。

第四種情況:URI方式傳遞參數(shù)亂碼
問題描述:使用表單傳遞參數(shù),可以通過post或get方式,不適用表單,還可以使用鏈接方式傳遞參數(shù),這種傳遞參數(shù)方式本質(zhì)上就是get方式傳遞參數(shù),這種方式中傳遞的參數(shù)出現(xiàn)中文時(shí)也可能出現(xiàn)亂碼。

如:

復(fù)制代碼 代碼如下:
<a href="/webproject/display.jsp?username=張三&password=123">顯示用戶名和密碼</a>

解決方法:問題本質(zhì)是get方式傳遞的參數(shù)內(nèi)容默認(rèn)編碼方式問ISO8859-1,而且使用request.setCharacterEncoding("utf-8")也無法解決問題,要解決這個(gè)問題,修改tomcat服務(wù)器的配置文件。修改tomcat目錄下的conf/server.xml文件的第43行:
修改前內(nèi)容:

<Connector port="8080" protocol="HTTP/1.1"
  maxThreads="150" connectionTimeout="200000"
  redirecPort="8443"/>

修改后內(nèi)容:

<Connector port="8080" protocol="HTTP/1.1"
  maxThreads="150" connectionTimeout="200000"
  redirecPort="8443" URIEncoding="utf-8"/>

這樣就可以解決這種類型的亂碼問題。

第五種情況:
問題描述:在使用一些類庫或者框架時(shí),為了實(shí)現(xiàn)頁面內(nèi)容國際化,需要編寫對應(yīng)的properties文件。而properties文件中的中文內(nèi)容在顯示的時(shí)候也會出現(xiàn)亂碼。
解決方法:這個(gè)亂碼問題可以通過jdk中的native2ascii工具解決。使用如下命令:

復(fù)制代碼 代碼如下:
native2ascii   -encoding   utf-8  display.properties    display_zh_CN.properties

出現(xiàn)亂碼問題的原因是因?yàn)閖ava編譯器只能處理Latin-1或unicode編碼的字符文件。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法

    J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法

    這篇文章主要介紹了J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java 實(shí)現(xiàn)websocket的兩種方式實(shí)例詳解

    java 實(shí)現(xiàn)websocket的兩種方式實(shí)例詳解

    這篇文章主要介紹了java 實(shí)現(xiàn)websocket的兩種方式實(shí)例詳解,一種使用tomcat的websocket實(shí)現(xiàn),一種使用spring的websocket,本文通過代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • Spring簡明分析Bean作用域

    Spring簡明分析Bean作用域

    scope用來聲明容器中的對象所應(yīng)該處的限定場景或者說該對象的存活時(shí)間,即容器在對象進(jìn)入其 相應(yīng)的scope之前,生成并裝配這些對象,在該對象不再處于這些scope的限定之后,容器通常會銷毀這些對象,這篇文章主要介紹了Spring中的Bean作用域,需要的朋友可以參考下
    2022-07-07
  • 基于Java+SpringBoot+Vue前后端分離實(shí)現(xiàn)倉庫管理系統(tǒng)

    基于Java+SpringBoot+Vue前后端分離實(shí)現(xiàn)倉庫管理系統(tǒng)

    這篇文章主要介紹了一個(gè)完整的倉庫管理系統(tǒng)是基于Java+Springboot + Vue前后端分離編寫的,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 一文帶你徹底搞懂Lambda表達(dá)式

    一文帶你徹底搞懂Lambda表達(dá)式

    這篇文章主要介紹了一文帶你徹底搞懂Lambda表達(dá)式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 解決MyEclipse中Maven設(shè)置jdk版本jdk1.8報(bào)錯(cuò)問題

    解決MyEclipse中Maven設(shè)置jdk版本jdk1.8報(bào)錯(cuò)問題

    今天安裝了jdk1.8、tomcat8、和maven3.5.2,弄好后在myeclipse新建了一個(gè)maven項(xiàng)目,項(xiàng)目默認(rèn)是jdk1.5,改成jdk1.8后項(xiàng)目報(bào)錯(cuò)
    2018-10-10
  • java實(shí)現(xiàn)對map的字典序排序操作示例

    java實(shí)現(xiàn)對map的字典序排序操作示例

    這篇文章主要介紹了java實(shí)現(xiàn)對map的字典序排序操作,結(jié)合實(shí)例形式分析了java參照微信官網(wǎng)算法實(shí)現(xiàn)的字典序排序操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • java中 String和StringBuffer的區(qū)別實(shí)例詳解

    java中 String和StringBuffer的區(qū)別實(shí)例詳解

    這篇文章主要介紹了java中 String和StringBuffer的區(qū)別實(shí)例詳解的相關(guān)資料,一個(gè)小的例子,來測試String和StringBuffer在時(shí)間和空間使用上的差別,需要的朋友可以參考下
    2017-04-04
  • Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能示例

    Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能示例

    這篇文章主要介紹了Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能,簡單描述了組合模式的概念、功能并結(jié)合實(shí)例形式分析了Java使用組合模式實(shí)現(xiàn)公司組織結(jié)構(gòu)表示功能具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • SpringBoot 入門教程之引入數(shù)據(jù)傳輸層的方法

    SpringBoot 入門教程之引入數(shù)據(jù)傳輸層的方法

    這篇文章主要介紹了SpringBoot 入門教程之引入數(shù)據(jù)傳輸層的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論