原文在http://bingu.net/472/latin1_swedish_ci-to-utf8_general_ci/
把下列文件保存为一个.php文件,然后运行<?phpdefine('DB_NAME', 'putyourdbnamehere'); // 数据库名define('DB_USER', 'usernamehere'); // MySQL用户名define('DB_PASSWORD', 'yourpasswordhere'); // 密码define('DB_HOST', 'localhost'); // 很大可能你无需修改此项function UTF8_DB_Converter_DoIt() { $tables = array();$tables_with_fields = array();// Since we cannot use the WordPress Database Abstraction Class (wp-db.php),// we have to make an a stand-alone/direct connection to the database.$link_id = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Error establishing a database connection');mysql_select_db(DB_NAME, $link_id);// Gathering information about tables and all the text/string fields that can be affected// during the conversion to UTF-8.$resource = mysql_query("SHOW TABLES", $link_id);while ( $result = mysql_fetch_row($resource) )$tables[] = $result[0];if ( !empty($tables) ) { foreach ( (array) $tables as $table ) { $resource = mysql_query("EXPLAIN $table", $link_id);while ( $result = mysql_fetch_assoc($resource) ) { if ( preg_match('/(char)|(text)|(enum)|(set)/', $result['Type']) )$tables_with_fields[$table][$result['Field']] = $result['Type'] . " " . ( "YES" == $result['Null'] ? "" : "NOT " ) . "NULL " . ( !is_null($result['Default']) ? "DEFAULT '". $result['Default'] ."'" : "" );}}// Change all text/string fields of the tables to their corresponding binary text/string representations.foreach ( (array) $tables as $table )mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET binary", $link_id);// Change database and tables to UTF-8 Character set.mysql_query("ALTER DATABASE " . DB_NAME . " CHARACTER SET utf8", $link_id);foreach ( (array) $tables as $table )mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET utf8", $link_id);// Return all binary text/string fields previously changed to their original representations.foreach ( (array) $tables_with_fields as $table => $fields ) { foreach ( (array) $fields as $field_type => $field_options ) { mysql_query("ALTER TABLE $table MODIFY $field_type $field_options", $link_id);}}// Optimize tables and finally close the mysql link.foreach ( (array) $tables as $table )mysql_query("OPTIMIZE TABLE $table", $link_id);mysql_close($link_id);} else { die('<strong>There are no tables?</strong>');}return true;}UTF8_DB_Converter_DoIt();?>