Index: wp-includes/wp-db.php
===================================================================
--- wp-includes/wp-db.php	(revision 18555)
+++ wp-includes/wp-db.php	(working copy)
@@ -1491,7 +1491,24 @@
 	function supports_collation() {
 		return $this->has_cap( 'collation' );
 	}
+	/**
+	 * The database character collate.
+	 *
+	 * @uses $wpdb
+	 *
+	 * @return string The database character collate.
+	 **/
+	public function charset_collate() {
+		$charset_collate = '';
 
+		if ( ! empty($this->charset) )
+			$charset_collate = "DEFAULT CHARACTER SET $this->charset";
+		if ( ! empty($this->collate) )
+			$charset_collate .= " COLLATE $this->collate";
+
+		return $charset_collate;
+	}
+
 	/**
 	 * Determine if a database supports a particular feature
 	 *
Index: includes/schema.php
===================================================================
--- includes/schema.php	(revision 18555)
+++ includes/schema.php	(working copy)
@@ -8,22 +8,17 @@
  * @subpackage Administration
  */
 
+// Declare these as global in case schema.php is included from a function.
+global $wpdb, $wp_queries;
+
 /**
  * The database character collate.
  * @var string
  * @global string
  * @name $charset_collate
  */
-$charset_collate = '';
+$charset_collate = $wpdb->charset_collate();
 
-// Declare these as global in case schema.php is included from a function.
-global $wpdb, $wp_queries;
-
-if ( ! empty($wpdb->charset) )
-	$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
-if ( ! empty($wpdb->collate) )
-	$charset_collate .= " COLLATE $wpdb->collate";
-
 /** Create WordPress database tables SQL */
 $wp_queries = "CREATE TABLE $wpdb->terms (
  term_id bigint(20) unsigned NOT NULL auto_increment,
