diff --git a/src/wp-includes/wp-db.php b/src/wp-includes/wp-db.php index 7dd81b89cc..489b80d3fb 100644 --- a/src/wp-includes/wp-db.php +++ b/src/wp-includes/wp-db.php @@ -2405,6 +2405,11 @@ class wpdb { return true; } + // All-ASCII queries don't need extra checking. + if ( $this->check_ascii( $query ) ) { + return true; + } + $table = $this->get_table_from_query( $query ); if ( ! $table ) { return false; diff --git a/tests/phpunit/tests/db/charset.php b/tests/phpunit/tests/db/charset.php index d55c750c66..3e0b81ad8a 100755 --- a/tests/phpunit/tests/db/charset.php +++ b/tests/phpunit/tests/db/charset.php @@ -503,9 +503,10 @@ class Tests_DB_Charset extends WP_UnitTestCase { $this_table_name = $table_name . '_' . rand_str( 5 ); $value[0] = "CREATE TABLE $this_table_name {$value[0]}"; - $value[2] = "SELECT * FROM $this_table_name"; + $value[2] = "SELECT * FROM $this_table_name WHERE a='\xf0\x9f\x98\x88'"; $value[3] = "DROP TABLE IF EXISTS $this_table_name"; $value[4] = array( + "SELECT * FROM $this_table_name WHERE a='foo'", "SHOW FULL TABLES LIKE $this_table_name", "DESCRIBE $this_table_name", "DESC $this_table_name",