JDBC連線MySQL的URL編碼問題

2021-07-08 19:26:26 字數 1924 閱讀 9839

因為在本地測試用本地的資料庫都沒事情,插資料度資料都一點問題都沒問題,就考慮到了應該是jdbc連線的時候的url編碼問題,在修改之前,我們的連線是這樣的:

jdbc:mysql:

.cdb

.myqcloud

.com:11462/sh_books

網上搜了一下,說要在連線mysql資料庫的時候一般都會在url後面新增useunicode=true&characterencoding=utf-8,這樣是修改後的

jdbc:mysql:

.cdb

.myqcloud

.com:11462/sh_books?useunicode=true&characterencoding=utf-8

執行了下,報錯了報錯了!! 居然報錯了!錯誤提示的一部分是這樣的:

對實體 「characterencoding」 的引用必須以 『;』 分隔符結尾。

搜了一下,知道為什麼了,在xml的配置檔案中 ;要用&代替,這是html中常用的字元實體,改完後呢就是這個樣子啦:

jdbc:mysql:

.cdb

.myqcloud

.com:11462/sh_books?useunicode=true&;characterencoding=utf-8

問題完美解決,但是為什麼要這樣呢? 搜了一下相關的資料

我們在,但是問什麼要新增呢?

我們新增這個的新增的作用是:指定字元的編碼、解碼格式。

例如:mysql資料庫用的是gbk編碼,而專案資料庫用的是utf-8編碼。這時候如果新增了useunicode=true&characterencoding=utf-8 ,那麼作用有如下兩個方面:

存資料時:

資料庫在存放專案資料的時候會先用utf-8格式將資料解碼成位元組碼,然後再將解碼後的位元組碼重新使用gbk編碼存放到資料庫中。

取資料時:

在從資料庫中取資料的時候,資料庫會先將資料庫中的資料按gbk格式解碼成位元組碼,然後再將解碼後的位元組碼重新按utf-8格式編碼資料,最後再將資料返回給客戶端。

注意:在xml配置檔案中配置資料庫url時,要使用&的轉義字元也就是&

例如:name="url" value="jdbc:mysql://localhost:3306/email?useunicode=true&characterencoding=utf-8" />

顯示結果

說明entity name

entity number

顯示乙個空格

<

小於<<

>

大於>>

&&符號

&&

「雙引號

""

顯示結果

說明entity name

entity number?版權

©

?註冊商標

®®×乘號

××÷除號

÷÷

JDBC連線MySQL的URL編碼問題

最近這幾天學習ssm框架,簡單說一下jdbc連線mysql的url編碼問題。網上說了一下,說要在連線mysql資料庫的時候一般都要在url後面新增useunicode true characterencoding utf 8,而且對實體 characterencoding 的引用必須以 分隔符結尾,...

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...