maybe_convert_table_to_utf8mb4()
Converts table fields to the encoding utf8mb4_unicode_ci, if there are fields in the table with encoding utf8_* or utf8mb4_*.
Changes the encoding of all string fields in the table to utf8mb4_unicode_ci, only in the case that:
- The table exists.
- The collation of all fields is equal to:
''(numeric fields) or starts with 'utf8' or 'utf8mb4' (string fields). - The collation of the table itself does not start with 'utf8mb4'.
In other cases, the function will do nothing.
The function is not defined by default, to make the function work you need to include the file:
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
The function should be run only once upon plugin activation!
No Hooks.
Returns
true|false. Boolean: true - if conversion was successful and false - if not.
Usage
maybe_convert_table_to_utf8mb4( $table );
- $table(string) (required)
- The name of the table to be converted.
Examples
#1 Change the encoding of all table fields to utf8mb4
register_activation_hook( __FILE__, 'myplugin_activate' );
function myplugin_activate() {
$table = 'my_table';
require ABSPATH . '/wp-admin/includes/upgrade.php';
maybe_convert_table_to_utf8mb4( $table );
}
Notes
- Global. wpdb.
$wpdbWordPress database abstraction object.
Changelog
| Since 4.2.0 | Introduced. |