ホームページ >バックエンド開発 >PHPチュートリアル >データベースからデータを取得するときに、PHP 出力に「�」文字が表示されるのはなぜですか?

データベースからデータを取得するときに、PHP 出力に「�」文字が表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-09 03:21:02803ブラウズ

Why am I seeing

PHP 出力に間違った文字が表示される

PHP でデータベース ソースからデータを取得すると、疑問符 (�) が付いた黒いひし形のような文字が表示されるvarchar フィールドに表示される場合があります。この問題は、データベースに保存されているテキストのエンコードが PHP スクリプトの解釈と異なる場合に発生します。

解決策

この問題は、テキストの文字エンコードの不一致が原因で発生します。表示に使用されるテキストとエンコーディング。通常、テキストはシングルバイト エンコード (ISO-8859-1 など) でエンコードされますが、Unicode (UTF8 または UTF16 など) で解釈されます。

問題を解決するには、次のオプションを検討してください。

  • Set HTTP Content-Type Header: 次のヘッダーを PHP スクリプトに追加して、応答の正しい文字エンコーディングを示します:
header("Content-Type: text/html; charset=ISO-8859-1");
  • メタ タグを使用します: または、HTML ドキュメントにメタ タグを追加します:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • 正しいエンコーディングでデータベースを読み取ります: 適切な文字エンコーディング (例: UTF-8) を使用してデータベースからデータを取得します。
  • use iconv(): iconv() を使用してテキストを正しいエンコーディングに変換します。 ) 関数:
$convertedText = iconv("ISO-8859-1", "UTF-8", $text);

以上がデータベースからデータを取得するときに、PHP 出力に「�」文字が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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