mysql 解決字符集錯誤 正確摘錄
linux系統版本Ubuntu 14.04.1 Mysql版本5.7.15
這幾天在做管理系統時,做完之後放到前一段購買的騰訊雲上測試,發現請求資料傳送後顯示為亂碼,但是在本地測試時卻沒有發生這種情況,所以我感覺是Linux上Mysql資料庫的字符集問題,開啟資料庫後發現果然是這樣。
在Mysql中使用下面程式碼檢視字符集
show variables like ‘char%’
會發現 database 的編碼方式是latin1 並且server的編碼方式也是latin1database的編碼方式如果沒有指定,預設使用的就是server 的編碼方式所以你會發現這兩個字符集是一樣的。
然後在Mysql中進行了對database和server的編碼方式的修改
- set character_set_database=utf8;
- set character_set_server=utf8;
後來在網上搜集了一些資料,才知道如果想讓Mysql預設字符集改變需要配置檔案,檢視了一些文章發現大多數方法都是Mysql5.7.15之前的版本才適用,最後總結了一下,才測試正確,下面是配置方法。
1.首先檢視etc安裝目錄下有沒有my.cnf檔案
- cd /etc
- ls -l | grep my.cnf
2.my.cnf不存在需要到Mysql配置檔案路徑下複製一個檔案過來,配置檔案路徑在/usr/share/mysql下
我複製的是my-default.cnf檔案,在/etc中複製檔案過來,將檔案改名為my.cnf ,執行以下命令
- cd /etc
- cp /usr/share/mysql/my-default.cnf my.cnf
3.使用vi編輯器開啟my.cnf加入下面幾段話
建議先對檔案進行備份,不過因為檔案本來就是從/usr/share/mysql中複製過來的,也可以不用備份,然後開啟
- cp my.cnf my.cnf.bak
- sudo vi my.cnf
在[mysqld]上面加入下面兩句話
- [client]
- default-character-set=utf8
- default-storage-engine=INNODB
- character-set-server=utf8
- collation-server=utf8_general_ci
加入後檔案內容
4.重啟Mysql,再檢視字符集
sudo service mysql restart
發現database和server的字符集都變成了utf8,無論怎麼修改,重啟後字符集都是utf8,證明你成功了。
如果設定到這裡還不行,再進入一下/etc/mysql/mysql.conf.d找到mysqld.cnf檔案
- cd /etc/mysql/mysql.conf.d
- sudo vi mysqld.cnf
然後在mysqld.cnf中[mysqld]下面加入這句話
然後再重啟下Mysql
原文連結: https://blog.csdn.net/jayzym/article/details/52735314
相關文章
- 完美解決未能正確載入“Visual C++ Resource Editor Package”的錯誤提示C++Package
- Flutter 錯誤捕獲的正確姿勢Flutter
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- vagrant homestead 錯誤記錄以及解決方案
- 前端工作流編譯正確操作流程和錯誤處理記錄前端編譯
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- PYTHON3 cx-Oracle 字符集 轉換錯誤的解決方案PythonOracle
- Mysql出現連線錯誤解決辦法MySql
- MySQL字符集亂碼與解決方案MySql
- C++編譯錯誤的正確查詢方式C++編譯
- Ocelot錯誤解決
- mysql 發生系統錯誤1067的解決方法MySql
- 解決 Python UnicodeEncodeError 錯誤PythonUnicodeError
- MySQL this is incompatible with sql_mode=only_full_group_by-錯誤解決MySql
- 圖解MySQL索引(三)—如何正確使用索引?圖解MySql索引
- 記錄下解決自定義 Feign 呼叫,響應content-type 格式不正確導致的解析錯誤
- rebuttal 摘錄
- 《圖解HTTP》知識點摘錄圖解HTTP
- dbfread報錯ValueError錯誤解決方法Error
- Ubuntu 安裝包時提示錯誤E: Unable to locate package mysql-server錯誤 解決辦法UbuntuPackageMySqlServer
- PbootCMS 404 錯誤解決方法boot
- Linux下錯誤解決方案Linux
- latex 錯誤以及解決方案
- navicat連線MySQL8.0.11報2059錯誤的解決方案MySql
- Can't Connect to MySQL Server on IP Address (10061) 錯誤的解決方案MySqlServer
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- MYSQL日誌的正確刪除方法詳解MySql
- rebuttal 摘錄(3)
- steam磁碟寫入錯誤怎麼解決 steam磁碟寫入錯誤解決方法大全
- MySQL錯誤-this is incompatible with sql_mode=only_full_group_by完美解決方案MySql
- SQLyog連線MySQL8.0報2058錯誤的完美解決方法MySql
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- mysql Index column size too large 超過767錯誤解決方案(轉)MySqlIndex
- undefined reference to錯誤的解決方法Undefined
- Cocopods的升級錯誤解決
- ORA-12005 錯誤的解決
- SAXParseException的錯誤解決之二Exception
- ORA-28000錯誤解決方案