web-dev-qa-db-ja.com

ヘッダーにUTF-8と表示されていますが、アクセントが正しく表示されません-なぜですか? (php)

わかりやすくするために、より大きなphpファイルのセットからヘッダーを抽象化しました。 Wampserverにロードすると、ヘッダーがutf-8文字セットを要求しているにもかかわらず、サイトに<p>é</p>が�として表示されます。このドキュメントの何が問題になっていますか?

(iso-8859-1をutf-8に置き換えてエンコーディングを変更しようとしましたが、役に立ちませんでした。)

header.php:

<?php
    header('Content-Type:text/html; charset=UTF-8');
    echo '<?xml version="1.0" encoding="iso-8859-1"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Blabla</title>
    </head>
    <body>
        <p>é</p>
    </body>
</html>
9
JDelage

iso-8859-1utf-8の2つの矛盾する文字セットを送信しています。

もし、あんたが

  • それを修正して、1つの文字セットのみを送信します。

  • 指定した文字セットで実際のファイルをエンコードします(IDEまたはエディターの[名前を付けて保存...]ダイアログに文字セットオプションがあるはずです)

動作するはずです。

7
Pekka

これを試して<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>ヘッドセクション

また、ファイルのエンコーディングを確認してください

11
Headshota

これは私のために働きました:私はMVCコントローラーに追加します:produces = {"application/json; charset = utf-8"}

0
Benbiga Badr