PHP openssl没有验证签名字符串,尽管它看起来像原始字符串

It's probably an encoding issue.

$sign2 = (stripslashes($_POST['sign']));
$sign2 = mb_convert_encoding($sign2, "auto");

code above is a result of trial-and-error method which made $sign2 look like $sign which is an output from:

openssl_sign($content, $sign, $key_pr);

but openssl_verify() returns false when I type $sign2 instead of $sign for verification - despite they are both of type string, length 128 and look the same.

$sign: KOóÂ^0Å ¶Ô®þó :æ aêÌCæÃñ÷”äþÊÝÌ7=ËæK-ÎËÚ¦iÛtËš½Då^Ðv¶:Å*^'¬˜8êšq

$sign2: KOóÂ^0Å ¶Ô®þó :æ aêÌCæÃñ÷”äþÊÝÌ7=ËæK-ÎËÚ¦iÛtËš½Då^Ðv¶:Å*^'¬˜8êšq

verification: bad