maybe_convert_table_to_utf8mb4()
Конвертирует поля таблицы в кодировку utf8mb4_unicode_ci
, если в таблице есть поля с кодировкой utf8_*
или utf8mb4_*
.
Изменит кодировку всех строковых полей таблицы на utf8mb4_unicode_ci
, только в том случает, если:
- Таблица существует.
- Сравнение (Collation) всех полей равно:
''
(числовые поля) или начинается с 'utf8' или 'utf8mb4' (строковые поля). - Сравнение (Collation) самой таблицы не начинается с 'utf8mb4'.
В других случаях функция ничего не сделает.
Функция не определена по умолчанию, чтобы функция работала нужно подключить файл 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. $wpdb WordPress database abstraction object.
Список изменений
С версии 4.2.0 | Введена. |