maybe_convert_table_to_utf8mb4()
Конвертирует поля таблицы в кодировку utf8mb4_unicode_ci, если в таблице есть поля с кодировкой utf8_* или utf8mb4_*.
Изменит кодировку всех строковых полей таблицы на utf8mb4_unicode_ci, только в том случает, если:
- Таблица существует.
- Сравнение (Collation) всех полей равно:
''(числовые поля) или начинается с 'utf8' или 'utf8mb4' (строковые поля). - Сравнение (Collation) самой таблицы не начинается с 'utf8mb4'.
В других случаях функция ничего не сделает.
Функция не определена по умолчанию, чтобы функция работала нужно подключить файл:
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
Функцию нужно запускать единожды при активации плагина!
Хуков нет.
Возвращает
true|false. Логические: true - если удалось конвертировать и false - если нет.
Использование
maybe_convert_table_to_utf8mb4( $table );
- $table(строка) (обязательный)
- Название таблицы, которую нужно сконвертировать.
Примеры
#1 Изменим кодировку всех полей таблицы на 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 );
}
Заметки
- Global. wpdb.
$wpdbWordPress database abstraction object.
Список изменений
| С версии 4.2.0 | Введена. |