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

thinkPHP5.0字符集修改为utf8mb4

Q:为什么要用utf8mb4
A:utf8mb4可以直接保存emoji字符

MySQL修改字符集

// 数据表编码改为utf8mb4
function to_utf8mb4()
{$database = config("database.database");$sql = "ALTER DATABASE `{$database}` CHARACTER SET `utf8mb4` COLLATE `utf8mb4_general_ci`;"; //数据库// Db::execute($sql);echo $sql;$lists = Db::getTables();foreach ($lists as $key => &$value) {Db::execute("ALTER TABLE `{$value}` CONVERT TO CHARACTER SET `utf8mb4` COLLATE `utf8mb4_general_ci`;"); //数据表$fields = Db::getFields($value);foreach ($fields as $key1 => &$value1) {if (mb_strpos(strtolower($value1["type"]), "char") !== false) {Db::execute("ALTER TABLE `{$value}` CHANGE `{$value1["name"]}` `{$value1["name"]}` {$value1["type"]} CHARACTER SET `utf8mb4` COLLATE `utf8mb4_general_ci` DEFAULT '{$value1["default"]}';"); //字段}}}
}

thinkPHP5.0框架

// 数据库编码默认采用utf8
'charset' => 'utf8',

新的

// 数据库编码默认采用utf8
'charset' => 'utf8mb4',

修改之后可以直接存储emoji

普通的utf8字符
在这里插入图片描述
emoji
在这里插入图片描述
参考文章
https://blog.csdn.net/qq_50573146/article/details/125177260

http://www.lryc.cn/news/204248.html

相关文章:

  • [架构之路-242]:目标系统 - 纵向分层 - 应用程序的类型与演进过程(单机应用程序、网络应用程序、分布式应用程序、云端应用程序、云原生应用程序)
  • Jackson 反序列化失败,出现JSON: Unrecognized field
  • vscode代码快捷输入
  • 【微服务】Feign 整合 Sentinel,深入探索 Sentinel 的隔离和熔断降级规则,以及授权规则和自定义异常返回结果
  • Kurento多对多webrtc会议搭建测试
  • 蓝桥杯 (饮料换购,C++)
  • 《java核心卷Ⅰ》知识点总结(可作面试题)
  • 发成绩小程序,一键群发成绩给家长,省事
  • barzilar_borwein算法微调函数的优化收敛
  • SpringBoot篇---第一篇
  • 算法通关村第二关-白银挑战反转链表拓展问题
  • 【rust/树莓派】使用rppalembedded-graphics控制st7789 LCD屏幕
  • WebSocket—STOMP详解(官方原版)
  • 淘宝/天猫获取购买到的商品订单物流信息 API分享
  • PS软件 点击 “另存为 Web 所用格式” ,提示错误 无法完成操作 系统找不到指定路径
  • 解决“您点击的链接已过期”;The Link You Followed Has Expired的问题
  • 说说对ajax、axios、jsonp的理解
  • 黄金代理这么多,怎么选?
  • 一个工作三年的前端是如何做性能优化的
  • 如何确定自己的armbian系统是不是ARM64架构
  • leetcode_1155 掷骰子等于目标和的方法数
  • 2023年中国精准放疗未来展望分析:将朝着精准化、数字化和智能化发展[图]
  • 大数据之LibrA数据库常见术语(二)
  • 华为面试题
  • 进阶JAVA篇-深入了解 List 系列集合
  • typeof 与 instanceof 区别
  • python 之计算矩阵乘法
  • 【Linux】进程优先级|进程并发概念|在vim中批量化注释
  • 高效使用python之xlwt库编辑写入excel表内容
  • 【前端】Layui小功能收集整理