私は最近ウェブサイト(ローカルホスト環境)で作業しています。今日、私はそれをオンラインにしましたが、本当に奇妙な問題に遭遇しました:
データベースから UTF-8 文字 (ヘブライ語) を出力しようとすると、完全に機能しますが、単純なテキストをエコーしようとすると (例: echo "שלום";) 疑問符が表示されます (黒い背景のものではありません)。 .
解決策を検索しようとしましたが、何も見つかりませんでした。皆さんがこれで私を助けてくれることを願っています
確認事項:
使用している文字セットをクライアント ブラウザに伝えようとしましたか: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
( <meta charset="utf-8"> vs <meta http-equiv="Content-Type"> )
ファイル/エディターは UTF-8 に設定されていますか? Eclipse のデフォルトは cp1252 で、一般的な Windows エディタのデフォルトは ISO-8859-1 または UCS-2 です。
php.ini ファイルで確認しますdefault_charset = "UTF-8"
( http://www.php.net/manual/en/ini.core.php#ini.default-charsetを参照) 。
HTTP トランザクションでのコンテンツ タイプの強制 (応答ヘッダー経由):header('Content-type: text/html; charset=utf-8');
コンテンツがブラウザーにフラッシュされる前に、必ずこれを含めてください。
コード ファイルのエンコーディングが間違っています。あなたのエディターはそれらを間違って保存しました.おそらく「Content-type」のHTTPヘッダーも送信することを気にしませんでした.ローカルホストも送信しませんでしたが、オンラインサーバーは送信します.
エンコーディングを変更すると、すべてがうまくいきます。
私は最近この問題を抱えていました。このコードを使用して解決します。
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">