@grigori, не вижу связи между htmlspecialchars и json_encode связь в постепенном переходе на UTF по дефолту в разных функциях http://php.net/manual/en/ini.core.php#ini.default-charset