首页
关于我们
友链链接
壁纸下载
更多
统计中心
图床上传
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,443 阅读
2
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,158 阅读
3
N1教程:Openwrt安装docker webui界面(基于flippy openwrt n1固件)
5,174 阅读
4
ZFAKA小店Docker版之 数据的备份和迁移
4,995 阅读
5
甲骨文oracle ARM 重装 Debian 10
4,671 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
登录
Search
标签搜索
vps
linux
bench
typecho
empirecms
lnmp
nginx
centos
cloudflare
qbittorrent
ssl
n1
rclone
onedrive
google
storage
speedtest
v2ray
openwrt
301
V+变量
累计撰写
173
篇文章
累计收到
44
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
页面
关于我们
友链链接
壁纸下载
统计中心
图床上传
搜索到
3
篇与
的结果
2025-01-01
Typecho新增带emoji表情博文出现Database Query Error错误
刚才发布文章出现 Database Query Error,百度了问题,原因是 Typecho 在初始化数据库的时候,选用了 UTF-8 的编码,而在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节,所以出现该问题。问题只要文章中添加了 emoij,保存文章就会显示 Database Query Error解决方案1 治标办法删除文章中的emoji表情,就可以成功发表了,简单粗暴却有效。2 治本办法:1)修改数据库 charset 为 utfmd4:alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;2) 修改 Typecho 配置文件 config.inc.php 中数据库定义参数中的 charset 为 utf8mb4'charset' => 'utf8mb4',3 知识拓展1、MySQL在5.5.3之后增加了这个utf8mb4的编码,所以最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本;2、mb4就是most bytes 4的意思,可以用来兼容四字节的unicode,存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。如果你要存互联网emoji表情,就需要utf8mb4,而不是utf-8;3、utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换;4、MySQL数据库的 “utf8”并不是真正概念里的 UTF-8,MySQL中的“utf8”编码只支持最大3字节每字符。真正的大家正在使用的UTF-8编码是应该能支持4字节每个字符,MySQL的开发者没有修复这个bug。他们在2010年增加了一个变通的方法:一个新的字符集“utf8mb4”,他们并没有对外公布(可能因为这个bug有点尴尬)。现在很多指南推荐用户使用“utf8”其实都错了;5、建议MySQL和MariaDB用户使用“utf8mb4”而不是“utf8”,毕竟现在是不管使用 Anroid 设备,还是 iOS 设备,如果插入包含有 emoji 表情符号的记录时就报错,还是很尴尬的;6、最重要一点,对数据库操作前,记得备份数据。
2025年01月01日
17 阅读
0 评论
0 点赞
2021-03-28
利用phpmyadmin对MYSQL批量替换字段值操作
作为一个站长,需要经常替换Mysql的字段值,因此下面的操作就成为了必需。1.精确替换UPDATE table_name SET column_name = REPLACE(column_name,“替换此商品”,“替换为该项目”);2.正则表达式匹配UPDATE table_name SET column_name = REGEXP_REPLACE(column_name,“替换此商品”,“替换为该项目”);3.下面就更换mysql中http://sz.al未https://sz.al/为例:UPDATE `config` SET `content` = REPLACE(`content`,'http://sz.al','https://sz.al/');
2021年03月28日
1,291 阅读
0 评论
0 点赞
2021-03-26
Mysql数据库的两种引擎:InnoDB 与 MyISAM对比及选择
按照度量的说明:1)InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。 2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用 3)InnoDB支持外键,MyISAM不支持 4)从MySQL5.5.5以后,InnoDB是默认引擎 5)InnoDB不支持FULLTEXT类型的索引 6)InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含where条件时MyISAM也需要扫描整个表 7)对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引 8)清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表 9)InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like ‘%lee%’。上面说的太复杂,这里博主简单归纳几条吧:1.Myisam更适合迁移数据库,直接停mysql拷贝数据库文件夹,授权就搞定了;2.Myisam更适合查询比较多的情况,Innodb更适合大规模写入;3.Innodb适合大型网站,一般网站用Myisam就可以了;Innodb是高版本mysql的默认引擎,是未来趋势。最后说明下博主所用引擎为myisam,个人小站,本来用的程序也是轻blog,mysql版本也是老掉牙的5.5.6,所以绰绰有余了,还是一句老话,适合自己的才是最好的
2021年03月26日
984 阅读
0 评论
0 点赞