我的 PHP 应用程序将我的撇号字符更改为 â��
我的罪行是什么?
单击 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);
}
?>
替代替换以保留它们给像大卫哈克尼斯这样的人
<?php
$replace = array('‘',
'’',
'“',
'”',
'—');
?>
您需要确保您的服务器在Content-Type
标头上发送 UTF-8 字符集。花引号使用超过一个字节,因此您需要一个适当的字符集来反映这一点。如果您的服务器未在标头中发送字符集,大多数浏览器将假定您使用的是标准 ISO-8859 字符集,每个字符仅使用一个字节,这表明您仅从输入的一个字符中获取 3 个字符。
如果你使用 Apache,你应该在 httpd.conf 中设置你的默认字符集:
AddDefaultCharset UTF-8
如果您无权访问您的服务器配置,您可以在输出任何内容之前从 php 发送一个标头。
header('Content-Type: text/html; charset=UTF-8');