I installed wassup trunk 129 in my blog http://zh.linuxforfun.net/, which is in Chinese. The default charset of the blog is set to 'UTF-8' . In the wassup page, all Chinese characters in 'KEYWORDS:' are displayed as question marks (?). I examined the database and found that the table 'wp_zh_linuxforfun_net_wassup' used the charset 'latin1' as its charset, but Wordpress uses 'UTF-8' as the default charset of all tables.
I edited wassup.php, adding some lines to specify 'DEFAULT CHARSET' of tables in 'CreateTable()'. After that, Chinese characters in 'KEYWORDS' were displayed correctly.
The Patch is shown below:
--- wassup.php.sav 2008-04-09 08:24:30.000000000 -0700
+++ wassup.php 2008-04-18 06:21:27.000000000 -0700
@@ -1098,6 +1098,13 @@
function CreateTable($tablename="wassup") {
global $wpdb;
+ $charset_collate = '';
+ if ( $wpdb->supports_collation() ) {
+ if ( ! empty($wpdb->charset) )
+ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
+ if ( ! empty($wpdb->collate) )
+ $charset_collate .= " COLLATE $wpdb->collate";
+ }
$table_name = $wpdb->prefix . $tablename;
$sql_createtable = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL auto_increment,
@@ -1123,7 +1130,7 @@
UNIQUE KEY id (id),
KEY wassup_id (wassup_id),
INDEX (timestamp)
-);";
+) $charset_collate;";
require_once( ABSPATH.'wp-admin/upgrade-functions.php');
dbDelta($sql_createtable);
} //end function createTable