BAE 的数据库是不支持 utf8mb4 编码,无法导入 WordPress 4.2的数据库
文 / @UTHEME
我的BAE数据库经历
最近我接到BAE发来的一封邮件,想测试一下BAE的性能,并导入数据库。但在导入时出现了一个错误,提示#1273-Unknowncollation:'utf8mb4_unicode_ci'
。从字面意思上看,这是数据库不支持utf8mb4编码导致的。于是我向BAE客服人员发了个工单,客服人员回复如下:
–尊敬的用户您好!BAE的数据库是不支持utf8mb4编码的,所以导入时会出现该错误,建议您在导出sql文件的时候不使用utf8mb4编码,推荐utf8编码。感谢您对开放云的支持,祝您生活愉快。
我的数据源是WordPress4.2版本,使用的数据库编码正是utf8mb4,这是为了支持Emoji表情和更多的语言文字。但由于BAE3.0不支持utf8mb4编码,导致我在导入时遇到了错误。
经查,WordPress官方的说明是只要在数据库支持的情况下,部分数据表的编码就会升级为utf8mb4。这意味着WordPress向下兼容utf8格式的数据库编码。因此,在导入之前,我们只需要把utf8mb4编码转成utf-8,就可以轻松解决这个问题,有两种方法可以替换数据库编码,
一、直接通过代码编辑器替换utf8mb4为utf8_general_ci
首先,打开需要导入的数据库文件,使用编辑器进行以下替换:
- 查找:
utf8mb4_unicode_ci
,替换为:utf8_general_ci
- 查找:
utf8mb4
,替换为utf8
替换时需要注意顺序,务必先替换utf8mb4
,再替换utf8mb4_unicode_ci
,避免找不到而造成替换失败。
二、通过SQL语句替换
如果你熟悉SQL语句,也可以通过以下命令进行修改:
mysql_select_db($dbname);
$result=mysql_query('showtables');
while($tables=mysql_fetch_array($result)){
foreach($tablesas$key=>$value){
mysql_query("ALTERTABLE$valueCONVERTTOCHARACTERSETutf8COLLATEutf8_general_ci");
}}
以上是个人的亲身经历,希望对正在使用BAE数据库的开发者有所帮助。

相关文章
-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46