解決中文存到資料庫報錯問題

2022-02-16 21:10:56 字數 1086 閱讀 6422

springframework.jdbc.uncategorizedsqlexception:

1,建立資料庫時沒有指定編碼問題

先檢視資料庫的系統編碼

我的已經設定好了編碼,但是一旦重啟就又要重新設定編碼了

設定編碼命令如下:set character_set_client=utf8;

2,.連線資料庫的時候資料編碼設定錯誤  

3,建立資料表時資料編碼設定錯誤

甚是糾結,我原本以為應該是以下問題之一:

(1).建立資料庫的時候資料編碼設定錯誤

(2).連線資料庫的時候資料編碼設定錯誤

對於(1),我刪除來原來的資料庫,重新建立乙個新的資料庫在設定編碼時,我的設定如下:

character set:utf8 -- utf-8 unicode

collation:utf8_general_ci

發現這樣設定之後,不能解決這個問題。

對於(2),我將連線語句寫為:

"jdbc:mysql://" + ip + ":3306/users?useunicode=true&characterencoding=utf8"

但問題仍然沒有解決。

又仔細觀察我寫的程式,發現在程式中有向資料庫中建立表的操作,語句如下:

"create table  friendslist (qq varchar(7) primary key,remark varchar(20),groupname varchar(20)) ;"

這樣,問題變得明朗了,原來建立每張表的時候都必須設定資料編碼方式,改後的語句如下:

"create table  friendslist (qq varchar(7) primary key,remark varchar(20),groupname varchar(20)) charset utf8 collate utf8_general_ci;"

(1).建立資料庫的時候資料編碼設定錯誤

(2).連線資料庫的時候資料編碼設定錯誤

(3).建立表的時候資料編碼設定錯誤

中文存入資料庫亂碼問題

今天存中文路徑名到mysql資料庫中,突然出現亂碼,即中文名全是 搜尋之後,簡單改了一下 就解決了,方法如下 在更新語句 sql update experiment set path path where experiment id experimentid 中新增乙個 n 即可。結果為 sql2 ...

中文存入資料庫 MySQL 中文全文檢索(僅學習)

php 中文分詞 splitword scws 中文分詞 vicword乙個純php的分詞 在mysql 5.7.6之前,全文索引只支援英文全文索引,不支援中文全文索引,需要利用分詞器把中文段落預處理拆分成單詞,然後存入資料庫。從mysql 5.7.6開始,mysql內建了ngram全文解析器,用來...

解決SQLite資料庫中文亂碼問題

關於sqlite中出現中文亂碼的分析以及解決方案 我們在使用sqlite資料庫時候,可能會發現,向資料庫插入資料時候顯示的是漢字,但通過sqlite讀出來時卻顯示的亂碼,這是因為sqlite資料庫所支援的編碼方式和我們程式中的編碼方式不一樣,sqlite資料庫採用的是utf 8編碼方式,而我們在程式...