我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决django 向mysql中写入中文字符出错的问题

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决django 向mysql中写入中文字符出错的问题

之前使用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中写入中文字符出错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决django 向mysql中写入中文字符出错的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解决django 向mysql中写入中文字符出错的问题

之前使用django+mysql建立的一个站点,发现向数据库中写入中文字符时总会报错,尝试了修改settings文件和更改数据表的字符集后仍不起作用。最后发现,在更改mysql的字符集后,需要重建数据库,才能起作用。 这里完整记录一下解决方
2022-06-01

解决MySQL无法输入中文字符的问题

文章目录 问题描述问题排查解决方案1️⃣创建数据库时设置字符集为utf82️⃣修改数据库配置文件【比较麻烦】 写在最后 前几日在使用MySQL数据库的时候,出现了一处保存,故作此记录✍ 问题描述 下面是我这样exa
2023-08-16

如何解决mysql表输入中文出现问号的问题

当在MySQL表中输入中文出现问号时,可能原因包括字符集不匹配、数据库连接编码错误、客户端编码错误、数据长度超出限制、字符串包含无效字符、第三方库问题、MySQL版本过低或数据库服务器配置错误。解决方案包括更改字符集、指定字符集、选择正确字符集、增加列长度、过滤无效字符、检查第三方库文档、升级MySQL版本或检查服务器配置。确保数据库、客户端和数据使用相同的字符集。
如何解决mysql表输入中文出现问号的问题
2024-04-02

Mysql 导入导出csv 中文乱码问题的解决方法

这篇文章介绍了Mysql 导入导出csv 中文乱码问题的解决方法,有需要的朋友可以参考一下
2022-11-15

PHP文件写入操作:解决中英文字符的差异

PHP文件写入操作:解决中英文字符的差异PHP作为一种流行的服务器端脚本语言,在文件处理方面有很强大的功能。然而,当涉及到中英文字符的处理时,可能会遇到一些问题,比如字符编码不一致导致乱码等。本文将介绍如何在PHP中进行文件写入操作,并解
PHP文件写入操作:解决中英文字符的差异
2024-03-06

php截取中文字符串的问题怎么解决

本篇内容主要讲解“php截取中文字符串的问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php截取中文字符串的问题怎么解决”吧!PHP是一款广泛使用的编程语言,在开发网站与应用程序上有
2023-07-05

解决JavaEE开发中字符编码出现乱码的问题

网上有很多处理字符编码的解决方案,在此,我站着前人的肩膀上作自己的总结。在我看来,出现乱码问题的解决方法无非就是在3个地方进行编码设置:1.HTML、JSP等前端页面;2.后台servlet中request和response对象;3.服务器
2023-05-31

怎么解决关于Python dict存中文字符dumps()的问题

本篇内容主要讲解“怎么解决关于Python dict存中文字符dumps()的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决关于Python dict存中文字符dumps()的问题”
2023-06-25

Mysql插入中文变为全问号???的问题 解决方法

这篇文章介绍了Mysql插入中文变为全问号???的问题 解决方法,有需要的朋友可以参考一下
2022-11-15

编程热搜

目录