php奇葩错误:htmlspecialchars处理中文丢失

$value = "中文中文";
$res = htmlspecialchars($value);

经过这个函数处理之后,$res就直接变成了空的字符串。

奇葩错误啊!后来发现要这样才能成功,以前都没遇到过呢,奇怪!

htmlspecialchars($value, ENT_NOQUOTES, "gb2312");

这样处理就OK,不明觉厉,不明觉厉……

BY THE WAY:PHP VERSION:5.3.10