phpservermon-3.3.2\src\psm\Util\Server\Updater\StatusUpdater.php
//if (($this->server['pattern_online'] == 'yes') == !preg_match("/{$this->server['pattern']}/i", mb_convert_encoding($curl_result, 'utf-8','GBK'))) { //GBK/GB2312中文网站
if (($this->server['pattern_online'] == 'yes') == !preg_match("/{$this->server['pattern']}/i", $curl_result)) { //UTF8中文网站
相应修改后的代码如下:
if ($this->server['pattern'] != '') {
// Check to see if the body should not contain specified pattern
// Check to see if the pattern was [not] found.
if ((preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i",$curl_result,$temp) ? strtolower($temp[1]):"")=='gbk' or (preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i",$curl_result,$temp) ? strtolower($temp[1]):"")=='gb2312')
{
$curl_result=mb_convert_encoding($curl_result, 'utf-8','GBK');
}
if (($this->server['pattern_online'] == 'yes') == !preg_match("/{$this->server['pattern']}/i", $curl_result)) {
$this->error = "TEXT ERROR : Pattern '{$this->server['pattern']}' ".
($this->server['pattern_online'] == 'yes' ? 'not' : 'was').
' found.';
$result = false;
}
}
或:
if ($this->server['pattern'] != '') {
// Check to see if the body should not contain specified pattern
// Check to see if the pattern was [not] found.
if ((preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i",$curl_result,$temp) ? strtolower($temp[1]):"")!='utf-8')
{
$curl_result=mb_convert_encoding($curl_result, 'utf-8','GBK');
}
if (($this->server['pattern_online'] == 'yes') == !preg_match("/{$this->server['pattern']}/i", $curl_result)) {
$this->error = "TEXT ERROR : Pattern '{$this->server['pattern']}' ".
($this->server['pattern_online'] == 'yes' ? 'not' : 'was').
' found.';
$result = false;
}
}