關(guān)于servlet向mysql添加數(shù)據(jù)時中文亂碼問題的解決
前言
最近寫了一個小Demo,通過 servlet 向 mysql 中添加數(shù)據(jù),在 dao 層使用的是 DBUtils 操作的數(shù)據(jù)庫,可是在添加時偏偏出現(xiàn)了中文亂碼問題,如下:
添加頁面:

點擊“添加商品”按鈕后,出現(xiàn)中文亂碼問題:

問題分析:
1. 難道是 servlet 在接收時沒有設置編碼格式?
2. 難道是數(shù)據(jù)傳輸錯誤?
3. 難道是瀏覽器響應時編碼問題?
排查:
1.無論是在添加商品的 servlet 中還是在重定向的 servlet 中都設置了編碼格式:
//設置編碼格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
2.在 dao 層進行打印,輸入的中文均可以正確打?。?/p>
3.如果是瀏覽器響應時的編碼問題,那么后面的“修改 | 刪除”字段也會亂碼,所以排除。
那到底是什么原因呢?看一下配置文件:

難道是配置文件問題??
解決辦法:
在 c3p0.jdbcUrl 路徑的 web14 后面添加
“?useUnicode=true&characterEncoding=utf-8”,
這樣,問題就解決了!
看效果:

問題解決!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Java形參和實參的實例之Integer類型與Int類型用法說明
這篇文章主要介紹了Java形參和實參的實例之Integer類型與Int類型用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
SpringBoot3 RestTemplate配置與使用詳解
本文詳細介紹了在 SpringBoot 3.x 中如何配置和使用 RestTemplate,包括基本配置、高級配置以及各種使用場景,感興趣的朋友跟隨小編一起看看吧2024-12-12

