前言
最近寫了一個小demo,通過 servlet 向 mysql 中添加數據,在 dao 層使用的是 dbutils 操作的數據庫,可是在添加時偏偏出現了中文亂碼問題,如下:
添加頁面:
點擊“添加商品”按鈕后,出現中文亂碼問題:
問題分析:
1. 難道是 servlet 在接收時沒有設置編碼格式?
2. 難道是數據傳輸錯誤?
3. 難道是瀏覽器響應時編碼問題?
排查:
1.無論是在添加商品的 servlet 中還是在重定向的 servlet 中都設置了編碼格式:
1
2
3
4
5
|
//設置編碼格式 request.setcharacterencoding( "utf-8" ); response.setcontenttype( "text/html;charset=utf-8" ); |
2.在 dao 層進行打印,輸入的中文均可以正確打?。?/p>
3.如果是瀏覽器響應時的編碼問題,那么后面的“修改 | 刪除”字段也會亂碼,所以排除。
那到底是什么原因呢?看一下配置文件:
難道是配置文件問題??
解決辦法:
在 c3p0.jdbcurl 路徑的 web14 后面添加
1
|
“?useunicode= true &characterencoding=utf- 8 ”, |
這樣,問題就解決了!
看效果:
問題解決!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。
原文鏈接:http://www.jianshu.com/p/76e3e825c484