ホームページ >バックエンド開発 >PHPチュートリアル >PHP 出力に疑問符の付いた黒いひし形が表示されるのはなぜですか?

PHP 出力に疑問符の付いた黒いひし形が表示されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-13 09:38:02468ブラウズ

Why are black diamonds with question marks appearing in my PHP output?

PHP 出力で疑問符付きの黒いひし形が表示される原因となる文字エンコーディングの問題

データベース ソースからデータを取得して表示する場合PHP では、引用符で囲まれたテキストを含む VARCHAR フィールドで疑問符 (�) の付いた黒いひし形が表示されることがあります。これは通常、エンコーディングの競合が原因で発生します。

エンコーディングの問題の原因

テキストが形式でエンコードされている場合、疑問符付きの黒いひし形 (U FFFD、REPLACEMENT CHARACTER) が表示されます。シングルバイト エンコーディング (ISO-8859-1 など) は、Unicode エンコーディング (UTF-8 や UTF16 など) で解釈されます。

問題の解決方法

この問題を修正するには、次の手順を実行します。

エンコーディングを定義するために HTTP ヘッダーを設定します。

  • header() 関数を使用して HTTP ヘッダーを設定します。 ("Content-Type: text/html; charset=ISO-8859-1");

メタ タグを使用してエンコーディングを指定する:

  • HTML ヘッダーにメタ タグを追加します:

別のエンコーディングでデータベースから読み取る:

  • UTF-8 などの別のエンコーディングでデータベースから読み取ってみます。

変換iconv() を使用したテキスト:

  • iconv() を使用して、テキストをあるエンコーディングから別のエンコーディングに変換できます: iconv('ISO-8859-1', 'UTF-8', $text);

エンコードの不一致に対処することで、引用符で囲まれたテキストが黒いひし形や疑問符なしで正しく表示されるようにすることができます。

以上がPHP 出力に疑問符の付いた黒いひし形が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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