PHP字符变化

发布于 2024-10-18 14:09:54 字数 47 浏览 1 评论 0原文

我的 PHP 应用程序将我的撇号字符更改为 â

我的罪行是什么?

My PHP application changes my apostrophe character to �

What is my crime?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吹泡泡o 2024-10-25 14:09:54

单击 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('‘', 
             '’', 
             '“', 
             '”', 
             '—'); 

?>

Click the Microsoft Office Button , and then click Word Options.

Click Proofing, and then click AutoCorrect Options.

In the AutoCorrect dialog box, do the following:

Click the AutoFormat As You Type tab, and under Replace as you type, select or clear the "Straight quotes" with “smart quotes” check box.

Click the AutoFormat tab, and under Replace, select or clear the "Straight quotes" with “smart quotes” check box.

oh if you must:

<?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); 
} 

?>

alternative replace to keep them for people like David Harkness

<?php 

$replace = array('‘', 
             '’', 
             '“', 
             '”', 
             '—'); 

?>
弥繁 2024-10-25 14:09:54

您需要确保您的服务器在 Content-Type 标头上发送 UTF-8 字符集。大引号使用多个字节,因此您需要一个适当的字符集来反映这一点。如果您的服务器没有在标头中发送字符集,大多数浏览器会假设您使用的是标准 ISO-8859 字符集,每个字符仅使用一个字节,这将表明您仅从输入的一个字符中获取了 3 个字符。

如果您使用 Apache,则应在 httpd.conf 中设置默认字符集:

AddDefaultCharset UTF-8

如果您无权访问服务器配置,则可以在输出任何内容之前从 php 发送标头。

header('Content-Type: text/html; charset=UTF-8');

You will want to make sure your server is sending the UTF-8 character set on the Content-Type header. The curly quotes use more than one byte so you need an appropriate charset to reflect that. If your server is not sending the charset in the header, most browsers will assume you are using the standard ISO-8859 charset that only uses one byte per character which would show in that you are getting 3 characters from only one character that you inputted.

If you use Apache, you should set your default character set like so in the httpd.conf:

AddDefaultCharset UTF-8

If you do not have access to your server configuration, you can send a header from php before any content is outputted.

header('Content-Type: text/html; charset=UTF-8');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文