mysql無法存儲微表情、微信暱稱包含微表情無法存儲數據庫

網上搜到了很多關於這個問題的解決辦法,但是都沒解決我的問題。我的mysql用的是windows版mysql-server 5.7

首先我按照基本方法,修改my.inf配置文件,添加下面配置:

[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4

設置數據表字段字符集爲utf8mb4 :

ALTER TABLE t_member MODIFY  name VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

設置表字符集爲utf8mb4

ALTER TABLE t_member CHARSET=utf8mb4;

設置數據庫字符集爲utf8mb4

SET NAMES utf8mb4

然後重啓mysql,發現還是不行

然後在mybatis xml文件的insert、update語句中加上:SET NAMES utf8mb4

<update id="update">
	set names utf8mb4;
		UPDATE t_member SET 	
			phone = #{phone},
			wxid = #{wxid},
			token = #{token},
			status = #{status},
			adtime = #{adtime},
			isnew = #{isnew},
			icon = #{icon},
			name = #{name},
			isbind = #{isbind},
			sign = #{sign}
		WHERE id = #{id}
	</update>

發現這樣加會報sql錯誤

去掉後在每個使用update、insert語句的代碼前加上執行set names utf8mb4  sql語句

memberService.executeUpdateSql("set names utf8mb4");
memberService.save(_member);

然後就可以了

果沒有解決可以參考此文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章