ホームページ  >  記事  >  バックエンド開発  >  php htmlentitiesが文字化けした場合の対処法

php htmlentitiesが文字化けした場合の対処法

藏色散人
藏色散人オリジナル
2021-12-21 10:21:541542ブラウズ

php htmlentities の文字化けの解決策: 1. "htmlentities($str,ENT_COMPAT,"GB2312")" を使用します; 2. "htmlspecialchars($str)" を出力します。

php htmlentitiesが文字化けした場合の対処法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

php htmlentities コードが文字化けした場合はどうすればよいですか?

htmlphp のentities は中国語をクエリできないという問題を引き起こします

htmlphp のspecialchars は特殊文字を HTML 形式に変換しますが、htmlentities はすべての文字を HTML 文字に変換しますまとめて簡単に説明します別途紹介します。

#htmlエンティティの使用法#

 $str = "John & 'Adams'"; 
 echo htmlentities($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlentities($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlentities($str, ENT_NOQUOTES); 
 ?> 
 
John & 'Adams'
 John & 'Adams'
 John & 'Adams'
ブラウザ出力:

htmlspecialchars の使用法 #& (および) は & に変換されます。 " (二重引用符) は "

d4953d2dbfab4f3679092ada62799a14 (より大きい) に変換されます。は >


$str = "John & 'Adams'"; 
 echo htmlspecialchars($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_NOQUOTES); 
 ?>

#その違い

これら 2 つの関数の機能は、文字を次のように変換することです。 HTML の文字エンコーディング、特に URL とコード文字列です。文字タグがブラウザによって実行されないようにします。中国語を使用する場合に違いはありませんが、htmlentities は中国語入力が文字化けするように中国語の文字をフォーマットします。htmlentities はすべての HTML タグを変換し、htmlspecialchars は特殊記号 & ' " 77953f1368049e30c12f1e8121fc1b6f

# のみをフォーマットします。 ##Effect:

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;

echo 'htmlentities は GB2312 エンコーディングを指定しています: '.htmlentities($str,ENT_COMPAT,"GB2312").'';

echo 'htmlentities はエンコーディングを指定していません: ' .htmlentities($str).'';

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;

echo htmlspecialchars($str).'';

推奨学習: "

PHP ビデオ チュートリアル


以上がphp htmlentitiesが文字化けした場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。