mysql插入數據顯示爲問號或者亂碼問題的解決方法(比較囉嗦,請仔細閱讀到最後)
經常會發現mysql插入數據顯示爲問號或者亂碼的問題,或是自己出現問題亦或是同學問我這問題,依然記得自己第一次解決這問題嘗試了修改字段字符集(無效),也嘗試修改mysql配置文件,當時居然因爲找不到配置文件的位置而被迫放棄,最後問了個朋友沒出現這問題,因爲他用的mysql5.7沒出現這問題,而我用的是mysql5.5,最後我選擇了逃避,卸載,然後裝上了5.7版本的mysql
重點簡述(廢話很多,目的在於記錄學習過程)
- mysql 5.5(選用原因:課程需要)
- 插入數據顯示問號或亂碼
- 修改字段字符集無效
- mysql5.7可以逃避這個問題,但是我覺得不是應該採取的方案
以下是錯誤方案(修改字段字符集)
修改之前的查詢結果
查看全表屬性
修改方案,修改字段字符集 alter table 表名 change 字段名 字段名 字段類型 character set 你要的字符集
事實證明這是無效的,因爲通過java插入數據依然顯示問號 這裏沒有截圖
- 但是我發現數據通過MySQL workbench可以正常插入並顯示,
- 修改過字符集後也可以通過終端書寫插入語句進行插入,
- 以爲自己成功了,但是回到java裏面調用方法發現插入的中文數據依然顯示爲??
讓我深思的問題,但是好在學習了一點虛擬機,思緒飄到了關於client的問題,最後查詢了一些資料,決定嘗試修改mysql.init 配置文件
正確修改方法(修改mysql.init配置文件)
mysql.init配置文件保存在mysql安裝路徑下
因爲我比較久沒用了,也擔心有的同學找到不到這個配置文件
- 第一步找到該文件(我使用的搜索方式找到,能快速找到的同學直接到第二步)
這個截圖這兒有點問題,標錯了,就是回到bin目錄的上一級目錄也就是mysql目錄
- 第二步:進行配置文件的修改
多說一嘴:如果採取的默認安裝方式,這個文件應該在C盤下,C盤是系統盤,裏面的文件必須授予管理員權限才能進行修改,授權方式比較繁瑣,比較便捷的操作方式是把該文件剪切到桌面修改完畢放回原文件夾(切勿放錯)
- 第三步:都第一次沒有修改成功,後來學習了php才知道配置文件更改了就需要將mysql服務重啓動,有的人選擇重啓電腦,太麻煩了 在這裏通過services找到服務並打開
- 重啓動服務:必須重啓動才能生效
再次插入數據,發現問題解決
最後,如果有問題,歡迎交流,這是我的微信,不過,我也只是個學生而已(大佬別來懟我)