当前位置: 首页 > wzjs >正文

郴州网站建设软件定制开发制作网站注册流程

郴州网站建设软件定制开发制作,网站注册流程,做一手机网站需要多少钱,网站怎么做seo关键词postgresql 实践 pydantic 实践(一)基础 pydantic 实践(二)数据校验 SQLAlchemy 介绍与实践 SQLAlchemy 支持特殊字符 SQLAlchemy 支持特殊字符 1. 字符集介绍分析2. MySQL 支持特殊字符2.1. 更新 MySQL 字符集为 utf8mb42.2 更新…

postgresql 实践
pydantic 实践(一)基础
pydantic 实践(二)数据校验
SQLAlchemy 介绍与实践
SQLAlchemy 支持特殊字符

SQLAlchemy 支持特殊字符

  • 1. 字符集介绍分析
  • 2. MySQL 支持特殊字符
    • 2.1. 更新 MySQL 字符集为 utf8mb4
    • 2.2 更新已存在数据库的字符集
      • 2.2.1. 更新数据库字符集
      • 2.2.2. 更新数据表字符集
      • 2.2.3. 更新列的字符集
    • 2.3. 验证 MySQL 是否成功支持特殊字符
  • 3. SQLAlchemy 支持 utf8mb4
    • 3.1. 设置引擎编码方式为 utf8mb4
    • 3.2. 设置数据库表编码方式为 utf8mb4

✋✊✌️❤️⭐️✨⚡️☀️☁️❄️☔️☕️✈️⚓️⌚️☎️⌛️✉️✂️✒️✏️❌♻️✅❎Ⓜ️

为什么 MySQL 默认不支持 Emoji 表情
数据库字符集指的是数据库中存储的字符的编码方式。常见的字符集包括 utf8、utf8mb4、latin1等。字符编码是将字符映射为计算机中的二进制数据的方式。
MySQL 数据库默认使用 utf8 字符集,该字符集最多只支持3字节的字符编码。因此,当存储4字节字符(如 Emoji 表情)时,MySQL 会将其存储为乱码或截断。
Emoji 表情是一种特殊的字符,它的编码超过了utf8 字符集所能表示的范围,需要使用 utf8mb4 字符集才能正确存储和处理。

1. 字符集介绍分析

参考:https://blog.csdn.net/AggressionStorm/article/details/100040588
utf8_general_ci 不区分大小写,这个在注册用户名和邮箱的时候就要使用。
utf8_general_cs 区分大小写,如果用户名和邮箱用这个就会照成不良后果。
utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串用二进制数据编译存储,区分大小写,而且可以存二进制的内容。
utf8_unicode_ci 校对规则仅部分支持 Unicode 校对规则算法,一些字符还是不能支持。
utf8_unicode_ci 比较准确,utf8_general_ci 速度比较快。通常情况下 utf8_general_ci 的准确性就够我们用的了,在我看过很多程序源码后,发现它们大多数也用的是 utf8_general_ci,所以新建数据库时一般选用 utf8_general_ci 就可以了

2. MySQL 支持特殊字符

参考:
https://blog.csdn.net/lsoxvxe/article/details/133953726
https://blog.csdn.net/AsuraDong/article/details/82227659

2.1. 更新 MySQL 字符集为 utf8mb4

首先,需要编辑 MySQL 的配置文件(my.cnf或my.ini),将默认字符集设置为 utf8mb4。在配置文件中找到以下配置项,并修改为:

[client]
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

保存修改后的配置文件,并重启 MySQL 服务,使配置生效。

sudo service mysql restart

2.2 更新已存在数据库的字符集

2.2.1. 更新数据库字符集

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

2.2.2. 更新数据表字符集

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2.2.3. 更新列的字符集

ALTER TABLE table_name MODIFY column_name column_type CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2.3. 验证 MySQL 是否成功支持特殊字符

CREATE TABLE emoji_test (id INT PRIMARY KEY AUTO_INCREMENT,emoji VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);INSERT INTO emoji_test (emoji) VALUES ('');

3. SQLAlchemy 支持 utf8mb4

参考:https://www.cnblogs.com/jassin-du/p/8987170.html
官网:https://www.osgeo.cn/sqlalchemy/orm/declarative_tables.html

3.1. 设置引擎编码方式为 utf8mb4

engine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/sqldb01?charset=utf8mb4")

3.2. 设置数据库表编码方式为 utf8mb4

class UserType(Base):__tablename__ = 'usertype'id = Column(Integer, primary_key=True)caption = Column(String(50), default='管理员')# 添加配置设置编码__table_args__ = {'mysql_charset':'utf8mb4', 'mysql_collate':'utf8mb4_unicode_ci'}

这样生成的 SQL 语句就自动设置数据表编码为 utf8mb4了,__table_args__还可设置存储引擎、外键约束等等信息。

http://www.dtcms.com/wzjs/395534.html

相关文章:

  • 长治政府网官网seo推广怎么样
  • 如何快速学会做网站市场营销策划ppt
  • 合肥市城乡建设局网站首页一个具体网站的seo优化
  • 网站辅助导航深圳网站seo优化公司
  • 做彩票交流网站犯法吗优化软件下载
  • 我想在家办个小型加工厂seo优化中以下说法正确的是
  • 网站开发的权限设置常用的seo工具
  • 小说网站的内容做如何拿高权重网站外链进行互换?
  • 建设部网站 挂证谷歌浏览器下载手机版中文
  • 广州最好的网站建设百度网站关键词优化
  • 上海 网站建设公司网店代运营的套路
  • 电子软件开发工资多少钱百度搜索优化软件
  • 用旧电脑做网站baidu com百度一下
  • 铁路建设监理网站广州灰色优化网络公司
  • 滕州外贸网站建设郑州网站关键词优化公司
  • 免费微网站建设友链交易平台
  • php网站开发专业背景成都网站搜索排名优化公司
  • 临沂建设中专官方网站深圳全网营销推广平台
  • 合肥seo网站建设网站编辑
  • 做散客机票的网站如何推广百度官方平台
  • 安卓开发工具idea手机版seo外链专员
  • 宣城网站建设百度电脑版网页版入口
  • 下载全网搜刘连康seo培训哪家强
  • 木马科技网站建设做一个微信小程序需要多少钱
  • 九创wordpresswindows优化大师自动下载
  • 教做吃的网站seo优化销售话术
  • 网站怎么做备案变更百度浏览器官网入口
  • 贵阳北京小学网站建设最新军事消息
  • 专业企业网站建设价格网络免费推广平台
  • 怎么做会员自动售卡网站seo关键词排名优化怎么样