遇到問題后進行過編碼格式調整,重新創建一個專案,不過一直沒解決
jsp頁面:

servlt:

結果:

萌新求助!!!
uj5u.com熱心網友回復:
你有么有設定全域的編碼格式uj5u.com熱心網友回復:
設定了的,所有的編碼格式我都設定成utf-8uj5u.com熱心網友回復:
設定了的,所有的編碼格式我都設定成utf-8
uj5u.com熱心網友回復:
回應出去的編碼格式有寫嗎?response的uj5u.com熱心網友回復:
寫過了也沒用
uj5u.com熱心網友回復:
沒有人嗎

uj5u.com熱心網友回復:
你checkbox的name是cb ,你獲取的卻是hobby,不出錯才怪。
uj5u.com熱心網友回復:
謝謝,我試過了這里確實有錯,但是改了還是亂碼,不是代碼問題,是編碼格式問題,跟著csdn教程改現在連控制臺都是亂碼
uj5u.com熱心網友回復:
謝謝,我試過了這里確實有錯,但是改了還是亂碼,不是代碼問題,是編碼格式問題,跟著csdn教程改現在連控制臺都是亂碼
建議用post不要用get,get好像不支持中文。
uj5u.com熱心網友回復:
get不支持非西歐字符,要獲取get中的中文字符需要用 java.net.URLDecoder類來轉換。所以中文一般都用postuj5u.com熱心網友回復:
out 直接輸出一個陣列嗎? 不應該是每次對應下標的string嗎?uj5u.com熱心網友回復:
設定編碼request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
uj5u.com熱心網友回復:
設定編碼
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
啊哈,你這個我已經用過了,對這個無效
uj5u.com熱心網友回復:
get不支持非西歐字符,要獲取get中的中文字符需要用 java.net.URLDecoder類來轉換。所以中文一般都用post
我也試過post,也會出現這樣的結果,我懷疑是我servlet代碼寫錯了,我用兩個jsp寫出來沒問題,只要用到servlet就會這樣
uj5u.com熱心網友回復:
我也試過post,也會出現這樣的結果,我懷疑是我servlet代碼寫錯了,我用兩個jsp寫出來沒問題,只要用到servlet就會這樣
你基礎太差了,回圈內寫的啥? hobby?這個是字串陣列啊,
out.println("您的興趣愛好是:"+hobby[i]);
uj5u.com熱心網友回復:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charSet=utf-8");
PrintWriter out=resp.getWriter();
String[] hobby=req.getParameterValues("cb");
for(int i=0;i<hobby.length;i++) {
out.println("您的興趣愛好是:"+hobby[i]+"<hr/>");
}
}
<form action="form" method="post">
<h1>請選擇你的興趣</h1>
<br>
繪畫<input type="checkbox" name="cb" value="https://bbs.csdn.net/topics/繪畫">
唱歌<input type="checkbox" name="cb" value="https://bbs.csdn.net/topics/唱歌">
跳舞<input type="checkbox" name="cb" value="https://bbs.csdn.net/topics/跳舞">
旅游<input type="checkbox" name="cb" value="https://bbs.csdn.net/topics/旅游">
<br>
<input type="submit" name="hobby" value="https://bbs.csdn.net/topics/選擇">
</form>
uj5u.com熱心網友回復:
我也試過post,也會出現這樣的結果,我懷疑是我servlet代碼寫錯了,我用兩個jsp寫出來沒問題,只要用到servlet就會這樣
你基礎太差了,回圈內寫的啥? hobby?這個是字串陣列啊,
out.println("您的興趣愛好是:"+hobby[i]);
啊哈哈哈,就是差才學習啊,只有掉了一個又一個的坑,以后才不會掉更多的坑,謝謝老哥!
uj5u.com熱心網友回復:
我也試過post,也會出現這樣的結果,我懷疑是我servlet代碼寫錯了,我用兩個jsp寫出來沒問題,只要用到servlet就會這樣
你基礎太差了,回圈內寫的啥? hobby?這個是字串陣列啊,
out.println("您的興趣愛好是:"+hobby[i]);
啊哈哈哈,就是差才學習啊,只有掉了一個又一個的坑,以后才不會掉更多的坑,謝謝老哥!
uj5u.com熱心網友回復:
對于控制臺亂碼問題我用#CSDN#這個app發現了有技術含量的博客,小伙伴們求同去《IDEA下tomcat啟動后 server亂碼,Tomcat Catalina Log亂碼問題的解決》, 一起來圍觀吧 https://blog.csdn.net/weixin_30711917/article/details/99090049?utm_source=app這個博主方法有效uj5u.com熱心網友回復:
Vbbgb ,圖uj5u.com熱心網友回復:
首先,這個顯示不是亂碼,而是一個系統輸出。問題是,你的cb 是hobby[], for 回圈里的hobby 怎么理解?那么多個問號,是說系統沒有弄明白你到底想干什么。uj5u.com熱心網友回復:
遇到問題后進行過編碼格式調整,重新創建一個專案,不過一直沒解決
jsp頁面:
servlt:
結果:
萌新求助!!!
我做過跟你類似的一個專案,我用#CSDN#這個app發現了有技術含量的博客,小伙伴們求同去《HTML學習——用戶注冊頁面》, 一起來圍觀吧 https://blog.csdn.net/ChaoYang_183/article/details/104637628?utm_source=app
實驗代碼在這里了,我也記得當初搞亂碼搞了好一陣子
uj5u.com熱心網友回復:
把idea右下角編碼轉成gbk再轉成utf-8 用filter設定全域編碼格式為utf-8uj5u.com熱心網友回復:
doget方法對中午支持不高,如果想支持中文,修改Tomcat編碼為UTF-8。uj5u.com熱心網友回復:
在tomcat修改默認埠(service.xml)行加上URIEnconding=“UTF-8”,然后重啟tomcat(也可能是編譯器編碼問題,建議也嘗試設定一下,統一編碼)uj5u.com熱心網友回復:
String str = new String(mistiness.getBytes("ISO-8859-1"),"utf-8"); 這個應該可以解決 但是根本問題應該還是專案編碼問題uj5u.com熱心網友回復:
我原先是tomcat7換了tomcat9之后再結合各位建議解決了uj5u.com熱心網友回復:
設定Tomcat: -Dfile.encoding=UTF-8uj5u.com熱心網友回復:
現在還有人用servlet嗎uj5u.com熱心網友回復:
request.getParameterValues(" ")要根據表單的name來獲取資料,即你命名的cb轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93197.html
標籤:Java EE
