採坑MySql5.7字符集亂碼處理

首先廢話一句,標題爲“採坑”意爲採取此坑,並非錯別字!

疑難雜症:項目部署後發現查詢出來的數據全是亂碼,f12調試發現response的數據就是亂碼的,那這問題肯定出現在數據庫

尋求偏方:在網上搜羅了一翻,解法千篇一律。

1.先使用"show variables like '%char%'"查看你的mysql字符集

我這邊已經全部更改爲utf8了,此時有的同學可能會發現client,connection,database,results,server,system都不是utf8編碼,可能爲gbk或者其它編碼格式

2.修改配置文件

修改MySql安裝目錄下(默認在C:\Program Files\MySQL\ )的my.ini文件在[client]標籤下添加 default-character-set=utf8,在[mysqld]標籤下添加default-character-set=utf8,此時很多同學會發現,爲什麼目錄下沒有這個文件,其實它不是被隱藏了,它的確不在,找到C:\ProgramData\MySQL (默認被隱藏)下的MySql安裝目錄找到my.ini,複製一份到C:\Program Files\MySQL\下即可

3.尋求正解

經過前2步,你會發現,你的字符集有一部分是沒有更改過來的,比如server跟sysytem沒有更改過來,這是爲什麼呢?後來我才發現,server跟system的配置加載是programdata目錄下的,所以2個目錄下的my.ini文件保持一致,這樣就都更改了,如果只更改了某個目錄下的,可能存在部分沒被修改的問題!

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