django項目mysql中文編碼問題


在做django+mysql項目的時候,遇到中文報錯問題。

問題分析:是由於mysql數據庫,字符集的問題

在cmd命令行模式進入mysql

mysql -uroot -p以root身份進入mysql客戶端,

show variables like 'char%';查看數據庫編碼

 

發現有一些不是utf8

| character_set_database   | latin1                     |
| character_set_server     | latin1                     |

 

那么怎么修改成utf8從而支持中文呢。

在mysql跟目錄下,有一個my.ini  如果沒有手動建一個my.ini文件。

填入以下內容即可:

[mysqld]
basedir="D:/software/mysql"
datadir="D:/software/mysql/data"

port=3306
init_connect='SET NAMES utf8'
character-set-server = utf8

[client]
port=3306
default-character-set=utf8

 

找到[client]添加default-character-set=utf8
找到[mysqld]添加character-set-server = utf8

 

網上資料很多,但是不一定好使哈,這主要是根據mysql版本有關。

網上有的解決辦法是在[mysqld]中添加default-character-set=utf8這個方法在新版中是沒有的。 如果你添加了這個,mysql服務啟動會報錯。無法啟動。

 

我的mysql版本是5.7.19   按照上邊修改完my.ini配置后,以管理員的身份進么cmd,輸入net start mysql。服務啟動成功。

注:有一部分人可能說net start mysql命令不好使啊,那我可以告訴你,是因為你沒有安裝mysql服務。這樣的話你要啟動只能在mysql/bin目錄下找到mysqld進行啟動。

或者使用mysqld install進行安裝服務。之后就可以用net start了。

進入數據庫后:show variables like 'char%';  編碼已經修改。

mysql> show variables like 'char%';
+--------------------------+-----------------------------------+
| Variable_name            | Value                             |
+--------------------------+-----------------------------------+
| character_set_client     | utf8                              |
| character_set_connection | utf8                              |
| character_set_database   | utf8                              |
| character_set_filesystem | binary                            |
| character_set_results    | utf8                              |
| character_set_server     | utf8                              |
| character_set_system     | utf8                              |
| character_sets_dir       | D:\software\mysql\share\charsets\ |
+--------------------------+-----------------------------------+
8 rows in set, 1 warning (0.00 sec)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM