其实发现这个问题有一个月了, 一直不想搞, 每次想写点什么的时候干脆就开WP的管理后台去弄. 今天早上发现通过这样的方式发文, google reader不显示全文RSS, 见鬼, 之前不是都好好的么, 转用LiveWriter后, 我升了几次WP的版本, 莫非是这个导致的? 进WP的后台想找找什么地方可以设置的, 可惜没找到.
我解决问题好像就那么三斧子, 此路不通就换一个, 于是把目光投回LiveWriter, 这个东东着实好用, 废弃了也怪可惜的. 嗯, 那就从LiveWriter报的error查起.
Windows Live Writer
An unexpected error has occurred while attempting to log in:Blog Server Error - Server Error -32700 Occurred
parse error. not well formed
这个东西通过位于WP根目录下的xmlrpc.php文件post文章, 症结就在其中的一行:
$HTTP_RAW_POST_DATA = mysql_escape_string(trim($HTTP_RAW_POST_DATA));
对于mysql_escape_string这个函数, 是这么回事儿:
This function will escape the unescaped_string , so that it is safe to place it in a mysql_query(). This function is deprecated.
This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.
--http://us.php.net/manual/en/function.mysql-escape-string.php
索性先去掉, 改成
$HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);
问题就解决了, 但觉得还不是很妥当, 因为我看服务器上, 我的这个文件时间是2007-09-06, 看看最新版本中包含的文件咋写的吧, 拖了个2.8的zip包下来, 解开包一看, 果然最新版WP中已经将mysql_escape_string给去掉了. 既然这样, 那就更新上去, 用LiveWriter发篇文试试~



