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
相關文章
- ORA-00054錯誤解決方案(摘)
- 正確理解 PHP 錯誤資訊(轉)PHP
- mysql與php錯誤解決MySqlPHP
- mysql錯誤解決總結MySql
- virtualbox 錯誤解決記錄
- 【MySQL】解決mysql的 1594 錯誤MySql
- postgresal使用錯誤解決 (記錄篇)
- 完美解決未能正確載入“Visual C++ Resource Editor Package”的錯誤提示C++Package
- SQL Story摘錄(六)————不可能的錯誤 (轉)SQL
- Flutter 錯誤捕獲的正確姿勢Flutter
- 前端工作流編譯正確操作流程和錯誤處理記錄前端編譯
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- service mysql start出錯,mysql啟動不了,解決mysql: unrecognized service錯誤MySqlZed
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- MySQL插入資料1366錯誤解決方案MySql
- MySQL錯誤Incorrect file format解決方案薦MySqlORM
- vagrant homestead 錯誤記錄以及解決方案
- 正確理解PHP程式編譯時的錯誤資訊PHP編譯
- MySQL入門學習之——MySQL錯誤解決彙總MySql
- 解決Mysql錯誤[1040]Too many connectionsMySql
- mysql insert語句錯誤問題解決MySql
- mysql master-slave複製錯誤[解決事例]MySqlAST
- 用觸發器返回錯誤提示,糾正錯誤資料錄入觸發器
- Incorrect key file for table '/tmp/....'錯誤的解決--記錄
- Django Admin 錄入中文錯誤解決辦法Django
- 圖解MySQL索引(三)—如何正確使用索引?圖解MySql索引
- MySQL資料庫常見錯誤及解決方案MySql資料庫
- MySQL連線錯誤(10048)的解決方案MySql
- MySQL常見錯誤分析與解決方法總結MySql
- 連線MySQL出現2013錯誤解決MySql
- [轉]MySql錯誤程式碼1045的解決方案MySql
- PYTHON3 cx-Oracle 字符集 轉換錯誤的解決方案PythonOracle
- MySQL字符集亂碼與解決方案MySql
- VIM 常用錯誤解決
- sqldeveloper for windows 錯誤解決SQLDeveloperWindows
- JavaScript 中錯誤正確處理方式,你用對了嗎?JavaScript
- 摘--檢視oracle 字符集Oracle
- MYSQL日誌的正確刪除方法詳解MySql