Index: src/wp-includes/wp-db.php
===================================================================
--- src/wp-includes/wp-db.php	(revision 37319)
+++ src/wp-includes/wp-db.php	(working copy)
@@ -780,21 +780,19 @@
 			if ( $this->use_mysqli ) {
 				if ( function_exists( 'mysqli_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
 					mysqli_set_charset( $dbh, $charset );
-				} else {
-					$query = $this->prepare( 'SET NAMES %s', $charset );
-					if ( ! empty( $collate ) )
-						$query .= $this->prepare( ' COLLATE %s', $collate );
-					mysqli_query( $dbh, $query );
 				}
+				$query = $this->prepare( 'SET NAMES %s', $charset );
+				if ( ! empty( $collate ) )
+					$query .= $this->prepare( ' COLLATE %s', $collate );
+				mysqli_query( $dbh, $query );
 			} else {
 				if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
 					mysql_set_charset( $charset, $dbh );
-				} else {
-					$query = $this->prepare( 'SET NAMES %s', $charset );
-					if ( ! empty( $collate ) )
-						$query .= $this->prepare( ' COLLATE %s', $collate );
-					mysql_query( $query, $dbh );
 				}
+				$query = $this->prepare( 'SET NAMES %s', $charset );
+				if ( ! empty( $collate ) )
+					$query .= $this->prepare( ' COLLATE %s', $collate );
+				mysql_query( $query, $dbh );
 			}
 		}
 	}
Index: tests/phpunit/tests/db/charset.php
===================================================================
--- tests/phpunit/tests/db/charset.php	(revision 37319)
+++ tests/phpunit/tests/db/charset.php	(working copy)
@@ -16,7 +16,7 @@
 
 	public static function setUpBeforeClass() {
 		require_once( dirname( dirname( __FILE__ ) ) . '/db.php' );
-		
+
 		self::$_wpdb = new wpdb_exposed_methods_for_testing();
 	}
 
@@ -891,4 +891,19 @@
 
 		$this->assertEquals( $safe_query, $stripped_query );
 	}
+
+	/**
+	 * @ticket 36649
+	 */
+	function test_set_charset_changes_the_connection_collation() {
+		self::$_wpdb->set_charset( self::$_wpdb->dbh, 'utf8', 'utf8_general_ci' );
+		$results = self::$_wpdb->get_results( "SHOW VARIABLES WHERE Variable_name='collation_connection'" );
+		$this->assertEquals( 'utf8_general_ci', $results[0]->Value );
+
+		self::$_wpdb->set_charset( self::$_wpdb->dbh, 'utf8mb4', 'utf8mb4_unicode_ci' );
+		$results = self::$_wpdb->get_results( "SHOW VARIABLES WHERE Variable_name='collation_connection'" );
+		$this->assertEquals( 'utf8mb4_unicode_ci', $results[0]->Value );
+
+		self::$_wpdb->set_charset( self::$_wpdb->dbh );
+	}
 }
