我一直在阅读几个小时,并且无法完全解决编码问题。我使用PHP 指定charset = utf-8。 我希望能够输入某些字符,例如子弹•和箭头⇒进入textarea。 我直接保存到mySQL数据库,并且符号被正确存储在那里。 要显示数据库中保存的文本,我调用以下函数来转换textarea的存储符号。在php中保存特殊字符
function htmlspecialchars2($string, $flags=ENT_NOQUOTES){
$string = htmlspecialchars($string, $flags); // to help prevent code injection
$string = str_replace(chr(149), "•", $string); // converts bullet to html
$string = str_replace("⇒", "⇒",$string); // don't know the ascii code for the arrow
return $string;
}
这适用于子弹,但不适用于箭头。任何建议如何保存(然后重新显示)扩展的HTML字符。我已经阅读了所有我能找到的东西,但我错过了一些东西。
为什么不直接使用htmlspecialchars的charset参数? – mario 2013-02-24 00:18:59
尝试'utf8_decode()'? – michi 2013-02-24 00:20:59