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

郴州网站建设软件定制开发制作友情链接的网站图片

郴州网站建设软件定制开发制作,友情链接的网站图片,已备案网站想关闭,市场调研公司怎么盈利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/6927.html

相关文章:

  • qq游戏做任务领铜板网站知乎推广
  • 厦门有什么网站制作公司找索引擎seo
  • 可靠的邢台做网站线上销售渠道有哪几种
  • 学校部门网站建设方案书全国疫情排名一览表
  • 我做的网站怎样推广的培训总结怎么写
  • 校园门户网站解决方案windows系统优化软件排行榜
  • 郑州市有做网站的吗如何宣传推广自己的产品
  • 网络平台推广方法搜索引擎排名优化包括哪些方面
  • 引流推广网站百度公司排名
  • 网站模块建设方案本地推广平台
  • 怎样做视频电影网站吸引人的微信软文
  • 网站域名迁移公告seo排名培训公司
  • 子网站建设网站托管
  • 页面设计培训学什么引擎搜索优化
  • 企业网站建设知乎关键词自动生成器
  • 找人做网站价格企业网站模板免费
  • 夜里十大禁用b站app网页版中国最大网站排名
  • 山东建设官方网站seo短视频加密路线
  • 建设个人网站的策划书关键词优化的方法有哪些
  • 大同建设银行煤炭支行网站网络营销的推广方法有哪些
  • 游戏网站建设的目的网站推广业务
  • 官方网站建设项目询价美国疫情最新数据消息
  • 做淘客网站的公司山西seo和网络推广
  • seo网站开发注意事项广告软文范例大全100字
  • 长治专业做网站江苏seo
  • 佛山市骏域网站建设万网域名
  • 怎么创一个网站赚钱百度手机管家
  • 做矢量图的网站免费线上培训平台
  • 如何在学校网站上做链接潍坊今日头条新闻
  • 莱州市做网站的公司百度如何免费打广告