Django向MySQL中插入漢字出錯後的解決方法

2021-08-03 17:51:31 字數 2054 閱讀 5377

os version: kubuntu 17.04.1

mysql version: 5.7.18

django version: 1.8.0

<--- 按照塗老師的教程學習django的 admin 部分時,runserver 後登陸 /admin 頁面,新增 article,發現報錯,如下:

(1366, "incorrect string value: '\\xe6\\xa0\\x87\\xe9\\xa2\\x98' for column 'title' at row 1")
request method:

post

request url:

django version:

1.8exception type:

operationalerror

exception value:

(1366, "incorrect string value: '\\xe6\\xa0\\x87\\xe9\\xa2\\x98' for column 'title' at row 1")

exception location:

/home/dechao/my_python/ziqiangxuetang/zq_env/local/lib/python2.7/site-packages/mysqldb/connections.py in defaulterrorhandler, line 36

python executable:

/home/dechao/my_python/ziqiangxuetang/zq_env/bin/python

python version:

2.7.13

python path:

['/home/dechao/my_python/ziqiangxuetang/zqadmin',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7/plat-x86_64-linux-gnu',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7/lib-tk',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7/lib-old',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7/lib-dynload',

'/usr/lib/python2.7',

'/usr/lib/python2.7/plat-x86_64-linux-gnu',

'/usr/lib/python2.7/lib-tk',

'/home/dechao/my_python/ziqiangxuetang/zq_env/local/lib/python2.7/site-packages',

'/home/dechao/my_python/ziqiangxuetang/zq_env/lib/python2.7/site-packages']

server time:

星期三, 12 七月 2017 06:41:01 +0000

解決思路:

檢視資料庫字符集show variables like 'character%';

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

解決方案:

編輯  /etc/mysql/mysql.conf.d/mysqld.cnf    在[mysqld]下新增  character-set-server=utf8

systemctl restart mysql  重啟 mysql server,再此檢視字符集變數,發現已經是utf8,drop database myblog 並 create database myblog

問題解決!

解決hibernate向mysql插入中文亂碼

1 首先需要修改mysql資料庫的配置檔案my.ini,此檔案放在mysql根目錄下。在此檔案下查詢default character set屬性,並將其值更改為utf8 注意 不是utf 8,也要注意大小寫 這裡需要將default character set屬性全部屬性的值修改為utf8。示例 ...

使用django向mysql中存入emoji表情

更新2017年3月21日 在django admin介面,進行修改帶有emoji的資料表時,報錯 1366,incorrect string value xf0 x9f x90 xac for column object repr at row 1 這是因為你在通過admin介面修改資料時,djan...

向陣列中插入元素

package com.cn.learn.e4 author 0 向陣列中插入元素 public class insert4 5num 原來位置元素向右挪一位 這個迴圈理解上有點難度,首先,i一定是i scores.length 1,如果不減一,會陣列越界 for int i scores.leng...