最近這幾天學習ssm框架,簡單說一下jdbc連線mysql的url編碼問題。
網上說了一下,說要在連線mysql資料庫的時候一般都要在url後面新增useunicode=true&characterencoding=utf-8,而且對實體「characterencoding」 的引用必須以 『;』 分隔符結尾,在xml配置檔案中則將「;」用&代替,這是html檔案中常用的字元實體,如下所示:
jdbc:mysql:
問題解決了,但是為什麼呢?搜尋了一下資料我們就可以知道啦。
原理:
簡單的說,我們新增這個的作用就是:指定字元的編碼、解碼格式。
html中常用的特殊字元(character entities)
例如:mysql資料庫用的是gbk編碼,而專案資料庫用的是utf-8編碼。這時候如果新增了useunicode=true&characterencoding=utf-8 ,那麼作用有如下兩個方面:
存資料時:
資料庫在存放專案資料的時候會先用utf-8格式將資料解碼成位元組碼,然後再將解碼後的位元組碼重新使用gbk編碼存放到資料庫中。
取資料時:
在從資料庫中取資料的時候,資料庫會先將資料庫中的資料按gbk格式解碼成位元組碼,然後再將解碼後的位元組碼重新按utf-8格式編碼資料,最後再將資料返回給客戶端。
JDBC連線MySQL的URL編碼問題
因為在本地測試用本地的資料庫都沒事情,插資料度資料都一點問題都沒問題,就考慮到了應該是jdbc連線的時候的url編碼問題,在修改之前,我們的連線是這樣的 jdbc mysql cdb myqcloud com 11462 sh books 網上搜了一下,說要在連線mysql資料庫的時候一般都會在ur...
JDBC常用連線URL
1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...
JDBC常用連線URL
1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...