一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java Web開發項目中中文亂碼解決方法匯總

Java Web開發項目中中文亂碼解決方法匯總

2020-04-30 09:52剩菜剩飯 JAVA教程

這篇文章主要為大家詳細匯總了Java Web開發項目中中文亂碼的解決方法,分析了5種Java Web中文亂碼情況,感興趣的小伙伴們可以參考一下

Java Web項目中,解決中文亂碼方法總結如下

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ 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>

接收參數的jsp代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<% @ 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提交的參數前,使用request.setCharacterEncoding("utf-8")設定接收參數的內容格式為utf-8編碼。見接收表單中的插入內容即可。當然這種亂碼問題最好使用中文過濾器的方法最好。

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

如:

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


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

 

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

修改后內容:

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

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

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

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


出現亂碼問題的原因是因為java編譯器只能處理Latin-1或unicode編碼的字符文件。

 

以上就是本文的全部內容,希望對大家的學習有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎精品在线视频 | 日韩一区二区三区不卡视频 | www在线看| 乖女的嫩奶水h文孕妇 | 亚洲福利一区二区 | 国产精品不卡高清在线观看 | 99精品网站 | 女教师巨大乳孔中文字幕免费 | 操美女b| 四虎影视永久免费视频观看 | 精品国产成人a区在线观看 精品国产91久久久久久久 | 成年人在线观看视频免费 | 日韩欧美推理片免费在线播放 | 99久热只有精品视频免费观看17 | 精品国产一二三区在线影院 | 91嫩草国产在线观看免费 | 女同久久另类99精品国产 | 亚洲成人第一 | 久久精品亚洲精品国产欧美 | 日本私人影院 | 欧美视频一区二区专区 | 四虎论坛 | 禁止的爱善良的未删减版hd | 欧美一级一级做性视频 | 色婷婷婷丁香亚洲综合不卡 | 男人疯狂进女人下部视频动漫 | 国产一二三区视频 | beeg日本高清xxxx18 | 欧美18一19性高清hd4k | 国产一级片视频 | 国产精品久久国产精品99 gif | 色狠狠狠狠狠香蕉 | 成人国产在线视频在线观看 | 久久偷拍国2017 | 国内精品久久久久久中文字幕 | 福利视频一区二区牛牛 | 美女的隐私无遮挡撒尿 | 玩高中女同桌肉色短丝袜脚文 | 国产一区二区三区丶四区 | 91精品手机国产在线观 | 美女露尿口 |