0

今のところわからない問題がありますので、よろしくお願いします。

私は次の簡単なコードを持っています:

<?php
header("Content-Type: text/html; charset=utf-8");

$body .= "begrüßen zu dürfen";

echo htmlentities($body);
echo htmlentities($body, ENT_COMPAT,'UTF-8');

?>

最初のエコーは機能し、2番目のエコーは空の文字列を返します。なぜこれが起こるのですか?

変数$bodyは、 ""のような固定文字列begrüßen zu dürfenと、UTF-8を使用したmysqlデータベースからのテキストの組み合わせです。DBからのテキストを正しく表示したい場合は、$ dataと呼びましょう。を使用する必要があるため、結合されたテキスト全体(一部はDBから、一部は固定文字列から)を表示htmlentities($data, ENT_COMPAT,'UTF-8');できると考えていました。htmlentities($body, ENT_COMPAT,'UTF-8')ただし、これは機能しません。

これを解決する方法はありますか?

4

3 に答える 3

0

ファイルがUTF8として保存されているかどうかを確認してください。これは私にとってはうまく機能します:

header( "Content-Type: text/html; charset=utf-8" );
$body = "begrüßen zu dürfen";
echo htmlentities( $body );

出力:

begrüßen zu dürfen
于 2012-07-19T12:51:25.010 に答える