WordPress升级MySQL数据库编码为:utf8mb4

如果你和我一样,有一些几年前安装的WordPress网站,甚至当时还是使用虚拟主机,那么很可能你的数据库编码格式都不是utf8mb4,通常情况下这种编码并没有什么问题,但是mysql的utf8格式实际只能存储三个字符,如果你遭遇了类似的错误,就需要升级至utf8mb4。

下面的方法可以帮助你一键完成升级,不用去输入大量的sql命令或者通过PHPmyadmin一行一行地区修改。

第一步:

将下面的代码添加到主题functions.php里面。

function update_db_to_utf8mb4() {
	if (!isset($_GET['update-utf8bm4'])) {
		return;
	}
  
	require_once( ABSPATH . 'wp-admin/includes/upgrade.php');
	/** WordPress Administration API */
	require_once(ABSPATH . 'wp-admin/includes/admin.php');
	/** WordPress Schema API */
	require_once(ABSPATH . 'wp-admin/includes/schema.php');
	$tables = $wpdb->tables('all');
	if (!wp_should_upgrade_global_tables()) {
		$global_tables = $wpdb->tables('global');
		$tables = array_diff_assoc($tables, $global_tables);
	}
	foreach ($tables as $table) {
		maybe_convert_table_to_utf8mb4($table);
	}
}
add_action('wp_loaded', 'update_db_to_utf8mb4');

第二步:

访问:https://yoursite.com/?update-utf8bm4=1

第三步:

查看数据库编码是否完成修改

Array ( [baidu_xzh_push] => realtime [order_count] => 1 )

写一条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注