BAE 的数据库是不支持 utf8mb4 编码,无法导入 WordPress 4.2的数据库
文 / @WordPress主题
我的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数据库的开发者有所帮助。

相关文章
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02