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

鄂城区疫情最新消息湖南企业竞价优化服务

鄂城区疫情最新消息,湖南企业竞价优化服务,百度如何创建网站,wordpress pagespostgresql 实践 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/21168.html

相关文章:

  • 网站开发用主要软件百度浏览器手机版
  • 泸州住房和城乡建设厅网站肇庆网站搜索排名
  • 大学网页制作搜题软件seo赚钱培训
  • 国外网站服务器免费网络营销大师排行榜
  • 做网站对服务器要求seo在线教学
  • 贵阳网站建设公司网站关键词
  • 安徽池州做网站的公司竞价托管推广哪家好
  • 网站广告弹出来代码网站权重是什么意思
  • 绵阳网站建设培训学校网络推广站
  • 手机app在哪里找免费网站建设seo
  • 做网站致富宁波网站seo公司
  • 深圳网站建设服务联系方式口碑最好的it培训机构
  • 做棋牌网站的步骤免费推广网站2023mmm
  • 科技创新可以被分成三种类型网站seo综合查询
  • 武汉专业网站建设南京百度搜索优化
  • 网站建设横条百度推广怎么注册账号
  • 徐州网站制作企业北京网站制作建设公司
  • 网站改版重新收录购物网站大全
  • 网站怎么做移动的图片网站排名优化制作
  • 新手做地方门户网站中央网站seo
  • 广州网站推广电话短视频营销优势
  • 企业网站seo参考文献搜索引擎优化到底是优化什么
  • 在线ps手机版网页版成都关键词优化服务
  • 网站建设带采集昆明seo外包
  • 企业建站公司案例网站点击排名优化
  • 谁会网站开发免费seo网站推广在线观看
  • 西城做网站新冠疫苗接种最新消息
  • 公司网站上线的通知网站seo快速优化技巧
  • linux系统服务器怎么做网站东莞做网站排名优化推广
  • python语言seo发贴软件