[問題] Servlet接收HTML傳入值時亂碼處理(解決)
各位先進晚安~
小弟最近在做留言版的練習(使用Web Servlet)
在Html寫入要留言的訊息後交由Controller接收時
從request印出接收到的資訊,發現讀出的資料變成了亂碼(後面寫入DB也自然成了亂碼)
在網路上查了一些解決方法(String轉碼、utf-8等等),似乎都沒有起做用
想要請問各位是否也有碰過這種問題,請問先進們是如何處理的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.145.96
※ 文章網址: https://www.ptt.cc/bbs/java/M.1427381837.A.A07.html
→
03/26 23:29, , 1F
03/26 23:29, 1F
這個有試過了~
推
03/26 23:35, , 2F
03/26 23:35, 2F
→
03/26 23:35, , 3F
03/26 23:35, 3F
Eclipse和DB、JSP都有做調整了,但是還是亂碼><
→
03/27 16:38, , 4F
03/27 16:38, 4F
推
03/27 18:19, , 5F
03/27 18:19, 5F
謝謝各位先進的解答,剛剛自己開新的專案後用以下的寫法,接的資訊就可以正常顯示了
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp); //新增doGet值轉給doPost執行
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
// super.doPost(req, resp);
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
String userName = req.getParameter("userName");
String eMail = req.getParameter("eMail");
String data = req.getParameter("data");
System.out.println("輸入的訊息:" + data);
→
03/27 22:12, , 6F
03/27 22:12, 6F
我之前只有做doPost,後來加上了doGet的方法這樣~
推
03/29 15:25, , 7F
03/29 15:25, 7F
大大不好意思,我不太懂你說再轉一次的意思,能否說明一下?
我在JSP的部份有做<form method="post" action="message.do">
==============================================================
我最後在做R、W DB時,因為原先用的版本比較舊
後來換成mysql-connector-java-5.1.35之後讀寫就都正常了~
※ 編輯: MagicPaul (36.232.143.1), 03/31/2015 22:26:08
推
03/31 22:26, , 8F
03/31 22:26, 8F
→
03/31 22:27, , 9F
03/31 22:27, 9F
java 近期熱門文章
PTT數位生活區 即時熱門文章