我从表单上的textarea输入中获取特殊字符
所以,如果我输入以下文字
菲尔布里克,他的“在海中:悲剧的悲剧” Whaleship Essex“讲述了梅尔维尔的真实灵感 沉船,轻轻地磨损他的博学。
当我在php中访问它时,我得到以下内容。
菲尔布里克,他的“在海的中心:悲剧的悲剧” Whaleship Essex-讲述了真实的灵感 梅尔维尔的海难,轻轻地磨损他的博学。
我在访问文本之前尝试了以下操作,但是替换不起作用。当我这些特殊字符不匹配时 我复制粘贴代码中的那些或其他缺失的东西?
$string = htmlspecialchars($_POST["t"]) ;
$string = html_entity_decode($string, ENT_QUOTES, "UTF-8");
$string = str_replace('“', "\"", $string);
$string = str_replace('’', "'", $string);
答案 0 :(得分:1)
你实际上没有普通的单引号和双引号,但是有些花哨的unicode版本: &安培;#x201c; &#x201d&#x2019
试试utf8_decode
。 BTW你使用什么编码,Windows-1250
?
答案 1 :(得分:1)
您所看到的内容可能没有任何问题。您可能不需要使用htmlentities更正或其他方式来破坏$ _POST。可能是您正在查看准系统浏览器输出。
如果您通过使用print_r( $_POST ); die;
之类的内容将其调出来进行调试,请确保在页面上方的某处将元字符编码设置为UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这将确保智能角色(可能是从某个地方粘贴)在屏幕上正确呈现。
完全不相关:优秀的书,BTW。喜欢开始的场景,憔悴的水手囤积成堆的骨头。