我的PHP应用程序将我的撇号字符更改为
我的罪行是什么?
答案 0 :(得分:4)
单击“Microsoft Office按钮”,然后单击“Word选项”。
单击“校对”,然后单击“自动更正选项”。
在“自动更正”对话框中,执行以下操作:
单击“键入时自动套用格式”选项卡,在键入时单击“替换”下,选中或清除“直线引号”和“智能引号”复选框。
单击“自动套用格式”选项卡,然后在“替换”下,选中或清除“直线引号”和“智能引号”复选框。
哦,如果你必须:
<?php
function convert_smart_quotes($string)
{
$search = array(chr(145),
chr(146),
chr(147),
chr(148),
chr(151));
$replace = array("'",
"'",
'"',
'"',
'-');
return str_replace($search, $replace, $string);
}
?>
替代方案,以保留像David Harkness这样的人
<?php
$replace = array('‘',
'’',
'“',
'”',
'—');
?>
答案 1 :(得分:1)
您需要确保您的服务器在Content-Type
标头上发送UTF-8字符集。卷曲引号使用多个字节,因此您需要一个适当的字符集来反映它。如果你的服务器没有在标题中发送字符集,大多数浏览器都会假设你使用标准的ISO-8859字符集,每个字符只使用一个字节,这表明你只输入了一个字符的3个字符。
如果使用Apache,则应在httpd.conf中设置默认字符集:
AddDefaultCharset UTF-8
如果您无法访问服务器配置,则可以在输出任何内容之前从php发送标头。
header('Content-Type: text/html; charset=UTF-8');