« »
02/19/2009建站

让download-monitor支持中文标题和分类

让download-monitor插件支持中文的标题和中文分类。昨天在文章里写到那么郁闷的一次经历,有什么办法呢,该写出具体方法的还是得写不是么。
其实说起来支持的方法也比较简单,首先要从他不支持的原因说起。download-monitor 是个不错的下载管理插件,并不是插件本身不支持,只是他写入mysql数据库里的编码不支持中文而已。
有两个方法:一个是改数据库的表值编码方式,一种是在插件启用的时候,就让他在写入MYSQL的时候就使用UFT8编码,那样也省很多事。
第一种方法不多说了,主要讲第二种的改法。

找到插件的 wp-download_monitor 文件,用你喜欢的编辑器打开他,比如UE DW,但是别用记事本,找到158行左右。
原来的内容

global $wp_dlm_db,$wp_dlm_db_cats,$wp_dlm_db_formats,$wpdb;
$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'title' VARCHAR (200) NOT NULL ,
'filename' LONGTEXT NOT NULL ,
'file_description' LONGTEXT NULL ,
'dlversion' VARCHAR (200) NOT NULL ,
'postDate' DATETIME NOT NULL ,
'hits' INT (12) UNSIGNED NOT NULL ,
'user' VARCHAR (200) NOT NULL ,
'category_id' INT (12) NULL,
'members' INT (1) NULL,
'mirrors' LONGTEXT NULL,
PRIMARY KEY ( 'id' )
)";
$result = $wpdb->query($sql);

$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db_cats." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' LONGTEXT NOT NULL ,
'parent' INT (12) UNSIGNED NOT NULL,
PRIMARY KEY ( 'id' )
)";
$result = $wpdb->query($sql);

$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db_formats." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' VARCHAR (250) NOT NULL ,
'format' LONGTEXT NOT NULL,
PRIMARY KEY ( 'id' )
)";
$result = $wpdb->query($sql);

改为

global $wp_dlm_db,$wp_dlm_db_cats,$wp_dlm_db_formats,$wpdb;
$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'title' VARCHAR (200) NOT NULL ,
'filename' LONGTEXT NOT NULL ,
'file_description' LONGTEXT NULL ,
'dlversion' VARCHAR (200) NOT NULL ,
'postDate' DATETIME NOT NULL ,
'hits' INT (12) UNSIGNED NOT NULL ,
'user' VARCHAR (200) NOT NULL ,
'category_id' INT (12) NULL,
'members' INT (1) NULL,
'mirrors' LONGTEXT NULL,
PRIMARY KEY ( 'id' )
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$result = $wpdb->query($sql);

$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db_cats." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' LONGTEXT NOT NULL ,
'parent' INT (12) UNSIGNED NOT NULL,
PRIMARY KEY ( 'id' )
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$result = $wpdb->query($sql);

$sql = "CREATE TABLE IF NOT EXISTS ".$wp_dlm_db_formats." (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'name' VARCHAR (250) NOT NULL ,
'format' LONGTEXT NOT NULL,
PRIMARY KEY ( 'id' )
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$result = $wpdb->query($sql);

就可以了。让插件在写入数据库的时候就把编码弄好。完稿

日志信息 »

该日志于2009-02-19 18:40由 ctusky 发表在 建站 分类下, 通告目前不可用,你可以至底部留下评论。
如需转载烦请添加以下信息: 本文转自www.ctusky.com
如喜欢这篇文章或者本站,建议您RSS订阅本站,以及时地获取更多精彩内容!

看过本文的人还看过 »

没有评论

发表评论 »

返回顶部