В хронологическом (вроде) порядке:
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_HTML401));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_XML1));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_XHTML));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_HTML5));
string(6) "'"
При любом экранировании используйте то, которое предназначено конкретно для вашего языка и только если его нет (и по каким-то причинам создать самому нельзя), можно использовать что-то похожее.