這些天除錯開發乙個lucene專案,伺服器是tomcat,資料庫是mysql5,作業系統是xp,採用的是mvc架構,模式是採用facade模式,總是出現亂碼,頁面字符集、資料庫編碼、tomcat、專案編碼全部都是utf-8,可是沒想到表單裡提交的資料裡的中文還是有亂碼,經過思考,發現通過簡單的資料庫連線配置即可:
我們在連線mysql資料庫的時候一般都會在url後面新增useunicode=true&characterencoding=utf-8 ,但是問什麼要新增呢?
注意,如果你按照useunicode=true&characterencoding=utf-8 這種而不是useunicode=true&characterencoding=utf-8(注意兩者的差別)配置來的話,ide會報錯,導致無法編譯;
新增的作用是:指定字元的編碼、解碼格式。
例如:mysql資料庫用的是gbk編碼,而專案資料庫用的是utf-8編碼。這時候如果新增了useunicode=true&characterencoding=utf-8 ,那麼作用有如下兩個方面:
1. 存資料時:
資料庫在存放專案資料的時候會先用utf-8格式將資料解碼成位元組碼,然後再將解碼後的位元組碼重新使用gbk編碼存放到資料庫中。
2.取資料時:
在從資料庫中取資料的時候,資料庫會先將資料庫中的資料按gbk格式解碼成位元組碼,然後再將解碼後的位元組碼重新按utf-8格式編碼資料,最後再將資料返回給客戶端。
注意:在xml配置檔案中配置資料庫 url 時,要使用&的轉義字元也就是&
例如:附:
html中常用的特殊字元:
顯示結果
說明entity name
entity number
顯示乙個空格
<
小於<
<
>
大於》>
&&符號&&
"雙引號""
顯示結果
說明entity name
entity number版權©
®註冊商標®®
×乘號××
÷除號÷÷
Linux下Redis下安裝
redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...
metasploit下Windows下多種提權方式
前言 當你在愛害者的機器上執行一些操作時,發現有一些操作被拒絕執行,為了獲得受害機器的完全許可權,你需要繞過限制,獲取本來沒有的一些許可權,這些許可權可以用來刪除檔案,檢視私有資訊,或者安裝特殊程式,比如病毒。metasploit有很多種後滲透方法,可以用於對目標機器的許可權繞過,最終獲取到系統許可...
linux下socket和window下區別
socket相關程式從windows移植到linux下需要注意的 1 標頭檔案 windows下winsock.h winsock2.h linux下sys socket.h 錯誤處理 errno.h 2 初始化 windows下需要用wsastartup linux下不需要 3 關閉socket ...