wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren
maybe_convert_table_to_utf8mb4 › WordPress Function
Seit4.2.0
Veraltetn/v
› maybe_convert_table_to_utf8mb4 ( $table )
| Parameter: |
|
| Gibt zurück: |
|
| Definiert in: |
|
| Codex: |
If a table only contains utf8 or utf8mb4 columns, convert it to utf8mb4.
Ähnliche Funktionen: maybe_create_table, wp_convert_bytes_to_hr, wp_convert_hr_to_bytes, maybe_unserialize, rest_convert_error_to_response
Quellcode
function maybe_convert_table_to_utf8mb4( $table ) {
global $wpdb;
$results = $wpdb->get_results( "SHOW FULL COLUMNS FROM `$table`" );
if ( ! $results ) {
return false;
}
foreach ( $results as $column ) {
if ( $column->Collation ) {
list( $charset ) = explode( '_', $column->Collation );
$charset = strtolower( $charset );
if ( 'utf8' !== $charset && 'utf8mb4' !== $charset ) {
// Don't upgrade tables that have non-utf8 columns.
return false;
}
}
}
$table_details = $wpdb->get_row( "SHOW TABLE STATUS LIKE '$table'" );
if ( ! $table_details ) {
return false;
}
list( $table_charset ) = explode( '_', $table_details->Collation );
$table_charset = strtolower( $table_charset );
if ( 'utf8mb4' === $table_charset ) {
return true;
}
return $wpdb->query( "ALTER TABLE $table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" );
}