1

私の PHP アプリケーションはアポストロフィ文字を â�� に変更します

私の罪は何ですか?

4

2 に答える 2

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

?>

デビッドハークネスのような人々のためにそれらを維持するための代替の交換

<?php 

$replace = array('&lsquo;', 
             '&rsquo;', 
             '&ldquo;', 
             '&rdquo;', 
             '&mdash;'); 

?>
于 2011-02-21T20:07:41.407 に答える
1

Content-Typeサーバーがヘッダーで UTF-8 文字セットを送信していることを確認する必要があります。中引用符は複数のバイトを使用するため、それを反映する適切な文字セットが必要です。サーバーがヘッダーで文字セットを送信していない場合、ほとんどのブラウザーは、1 文字あたり 1 バイトのみを使用する標準の ISO-8859 文字セットを使用していると想定し、入力した 1 文字のみから 3 文字を取得していることを示します。

Apache を使用している場合は、httpd.conf で次のようにデフォルトの文字セットを設定する必要があります。

AddDefaultCharset UTF-8

サーバー構成にアクセスできない場合は、コンテンツが出力される前に、php からヘッダーを送信できます。

header('Content-Type: text/html; charset=UTF-8');
于 2011-02-21T21:54:15.673 に答える