我在跟踪this 要使我的插件在插件激活时自动创建一个表,但所发生的是,虽然所有表(整个db)都是utf8\\u general\\u ci,但新创建的表是latin1\\u swedish\\u ci。。。为什么它不也是utf8?我认为默认情况下它也是utf8,因为我有:
define(\'DB_COLLATE\', \'utf8_general_ci\');
在我的wp配置中。php。。。除了函数名之外,我的所有内容都与提供的链接完全相同,并且我有不同的SQL字段。。。如何使新创建的表默认为utf8?
这是我的职责:
function duende_install() {
global $wpdb;
global $duende_db_version;
$table_name = $wpdb->prefix . "duendes";
if($wpdb->get_var("show tables like \'$table_name\'") != $table_name) {
$sql = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
shape tinytext NOT NULL,
integrity tinytext NOT NULL,
length tinytext NOT NULL,
drone tinytext NOT NULL,
wood tinytext NOT NULL,
mouth tinytext NOT NULL,
rim tinytext NOT NULL,
bell tinytext NOT NULL,
loud tinytext NOT NULL,
mass tinytext NOT NULL,
finish tinytext NOT NULL,
inlay tinytext NOT NULL,
price smallint DEFAULT \'0\' NOT NULL,
sold tinytext NOT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . \'wp-admin/includes/upgrade.php\');
dbDelta($sql);
add_option("duende_db_version", $duende_db_version);
}
}
谢谢你