1

重複の可能性:
ブラウザは ´ の代わりに � を表示します

私の Web サイトで、長いダッシュなどの異なる文字を使用する他の人のテキスト ドキュメントからテキストのブロックをコピーすると、"" 以外の他の種類の引用符が返され、html ジャンクが返されます。そのような:

9 am – 4 pm

次のようになります。

9 am � 4 pm

as ‘secrets’, ‘remembering/keeping,’, narratives, and ‘surprises.’

次のようになります。

as �secrets�, �remembering/keeping,�, narratives, and �surprises.�

データを挿入するための私のphpは次のとおりです。

strip_tags($_POST['details']);

そして、それをページにhtmlとして出力するための私のphpは次のとおりです。

stripslashes(linkify(nl2br(htmlentities($row['body']))));

私は何を間違っていますか?

4

3 に答える 3

0

データを出力する前に、PHP でこのヘッダーを使用してみてください。

if(!headers_sent()) header('Content-type: text/html; charset=utf-8');

と:

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

HTML ドキュメント内。また、MySQL をチェックして、日付がどのように登録されているかを確認してください。

于 2012-10-16T18:00:40.313 に答える
0

文字セットが役に立たない場合は、ハックな解決策があります。心配しているのが静的なテキストだけの場合 (つまり、データベースに何もない場合)、これでうまくいくかもしれません。テキストを選択し、コピーしてプレーン テキスト エディターに貼り付けます。Windows を使用している場合は、メモ帳 (ワードパッドではない) でうまくいくかもしれません。貼り付けたものをコピーして、php/html ファイルに貼り付けます。試してみると、「悪い」文字がより標準的な文字に置き換わる可能性があります。

于 2012-10-16T23:22:11.823 に答える
0

あなたのhtmlにutf文字があります。できることはたくさんあります.phpページの上部にあるヘッダーを調整するのが最善です....上記のcoursewebと同じです。

ヘッダーについてわからない場合は、ブラウザに何かが送り返される前にヘッダーを送信する必要があるため、最初の行ではないにしても、実際には一番上にある必要があります。

于 2012-10-16T18:12:27.953 に答える