Servlet学习笔记心得(二)
二,在使用html表單傳遞信息時(shí),出現(xiàn)了中文顯示亂碼(亂碼和??)都出現(xiàn)過,遂進(jìn)行實(shí)驗(yàn)考察,在網(wǎng)上搜尋方法解決。
親測好評(píng):blog.csdn.net/xiazdong/article/details/7217022/
實(shí)驗(yàn)過程如下:
在webroot下新建MyHtml.html <!DOCTYPE?html> <html><head><title>MyHtml.html</title><meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3"><meta?http-equiv="description"?content="this?is?my?page"><meta?http-equiv="content-type"?content="text/html;?charset=GB2312"><!--<link?rel="stylesheet"?type="text/css"?href="./styles.css">--></head><body>This?is?my?HTML?page.?<br><form?action="servlet/Test"?method="GET">名字:<input?type="text"?name="name"><br?/>密碼:<input?type="text"?name="pwd"?/><input?type="submit"?value="提交"?/></form></body> </html><meta?http-equiv="content-type"?content="text/html;?charset=GB2312">當(dāng)charset=GB2312時(shí),無論servlet的.java文件內(nèi)是否添加
response.setCharacterEncoding("UTF-8");語句,輸入的名字和密碼中的 中文 都無法傳遞到地址欄,即html表單的編碼有問題,
于是改為charset=UTF-8
結(jié)果是中文可以傳遞到地址欄,即servlet可以進(jìn)行讀取,但是否有對(duì)應(yīng)字符的編碼就需要在.java中添加語句:
response.setContentType("text/html");response.setCharacterEncoding("UTF-8");測試成功~
回想一下,??的出現(xiàn)是因?yàn)楦緵]有對(duì)應(yīng)編碼,亂碼是編碼的不統(tǒng)一,所以接下來實(shí)驗(yàn)一下兩邊(html和java)編碼的對(duì)應(yīng)關(guān)系:
當(dāng)html編碼為UTF-8時(shí),無論java中是UTF-8還是GB2312,均無問題;
此時(shí)發(fā)現(xiàn)index.jsp中無法顯示中文,查看編碼方式為ISO-8859-1,改成UTF-8后測試成功。
轉(zhuǎn)載于:https://blog.51cto.com/3655559/1698078
總結(jié)
以上是生活随笔為你收集整理的Servlet学习笔记心得(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在linux的weblogic上增加启动
- 下一篇: 控制两个等交替慢慢变亮,慢慢变暗【占空比