国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

解決django 向mysql中寫入中文字符出錯的問題

瀏覽:39日期:2023-10-15 07:59:14

之前使用django+mysql建立的一個站點,發現向數據庫中寫入中文字符時總會報錯,嘗試了修改settings文件和更改數據表的字符集后仍不起作用。最后發現,在更改mysql的字符集后,需要重建數據庫,才能起作用。

這里完整記錄一下解決方案

首先更改mysql的字符集

ubuntu下找到/etc/mysql/my.cnf 在最后添加

[mysqld]character-set-server=utf8[client]default-character-set=utf8[mysql]default-character-set=utf8

用mysql -h localhost -u root -p 命令進入mysql 命令行

然后使用 show variables like ’character_set%’; 查看字符集設置,看到 client server database 為utf8即為成功

但是我的django依然報錯,只能重建數據庫,如果數據庫文件不多,重建數據庫的工作量其實非常小

首先建立新的數據庫,此時默認編碼格式就是utf8,已經支持中文、

然后修改settings.py中的database項的name為新的數據庫名

最后執行數據庫遷移即可,在包含manage.py文件夾目錄下

python manage.py makemigrations

python manage.py migrate

即可創建用戶表和modle中自定的表格,表結構與原來相同,將數據復制到新表即可

補充知識:解決django字符集 輸入漢字之后mysql數據庫報錯的問題【慎用】

解決思路:

啟動mysql數據庫 net start mysql

之后: mysql -u root -p

查看數據庫字符集 show variables like ‘character%’;

發現 character-set-server 和 character_set_database 的值為latin1

解決方案:

編輯查看MySQL文件夾下的my.ini 配置文件

在[mysqld]下添加 character-set-server=utf8

systemctl restart mysql 重啟 MySQL Server,再此查看字符集變量,發現已經是utf8

drop database 【已經添加的數據庫】 并 create database 【新數據庫】

問題解決!

此方法簡單粗暴,慎用!數據庫里面的文件還要重寫,比較麻煩,不過可以在創建數據庫之后,添加一條數據,利用自定義的django圖形化界面,再添加數據也是可以的。

以上這篇解決django 向mysql中寫入中文字符出錯的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 国产精品福利视频萌白酱 | 一区二区在线欧美日韩中文 | 成人在线视频免费 | 日韩高清免费观看 | 天堂视频免费看 | 99久久精品免费看国产 | 日韩毛片欧美一级国产毛片 | 美女很黄很黄是免费的·无遮挡网站 | 日本一级特黄a大片在线 | 久久中文字幕在线观看 | 韩国毛片基地 | 亚洲大片免费观看 | 日本视频在线免费播放 | 欧美成人免费全网站大片 | 成人国产欧美精品一区二区 | 日本一二线不卡在线观看 | 亚洲高清中文字幕一区二区三区 | 大看蕉a在线观看 | 2021一本久道 | 91精品国产一区二区三区四区 | www亚洲一区 | www.黄色免费网站 | 成年人毛片网站 | 日本在线国产 | 亚州黄色网址 | 亚洲图片偷拍区 | 亚洲黄色官网 | 成年人国产 | 日本免费二区三区久久 | 亚洲国产日韩成人综合天堂 | 亚洲中文字幕特级毛片 | 国产精品久久久久久小说 | 精品久久国产 | 网红主播大尺度精品福利视频 | 很黄很暴力深夜爽爽无遮挡 | 特黄毛片 | 欧美日韩另类视频 | 欧美h版成版在线观看 | 美国三级| 国产女人自拍 | 久久免费黄色 |