--- a/libpurple/protocols/msn/msg.c Fri Feb 06 23:31:35 2009 +0000 +++ b/libpurple/protocols/msn/msg.c Tue Feb 24 20:26:34 2009 +0000 @@ -352,6 +352,14 @@ memcpy(msg->body, tmp, msg->body_len); msg->body[msg->body_len] = '\0'; } + + if (msg->charset == NULL) { + char *body = g_convert(msg->body, msg->body_len, "UTF-8", + "ISO-8859-1", NULL, &msg->body_len, NULL); + g_free(msg->body); + msg->body = body; + msg->charset = g_strdup("UTF-8"); + } } g_free(tmp_base);