0

フォームがあり、テキストエリアに、スペイン語の文字が含まれているが html としてエンコードされたテキストを表示したいと考えています。問題は、スペイン語の文字の代わりに html コードが表示されることです。htmlentities を使用してフォームに表示しています。表示する私のコードは次のとおりです。

<?php echo htmlentities($string, ENT_QUOTES, "UTF-8") ?>

フォームでhtmlentitiesを使用しないでください。ありがとう!

編集 してみましょう$string = 'á'

私がするとき、 私は<?php echo $string ;?>得るá<?php echo htmlentities($string, ENT_QUOTES, "UTF-8") ?>&aacute;

私は困惑している!

4

3 に答える 3

0

私があなたを正しく理解しているなら、あなたは使う必要があります...

<meta charset="utf-8">

ページヘッダーで、次に...

<?php echo html_entity_decode($string, ENT_QUOTES); ?>

これにより、HTMLエンティティが適切な文字に変換されます

于 2012-11-08T14:53:08.317 に答える
0

以下のように、ファイルの先頭にコンテンツ タイプを明示的に追加してみてください。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

すでにhtmlとしてエンコードされている場合は、今すぐデコードする必要があります..使用できますhtml_entity_decode($string);

フォームにエコーされる文字列&aacute; は、データベースから返されたものである必要があります。á

$string = '&aacute;'; // your string as fetched from database
echo html_entity_decode($string);// this will display á in the textarea

データベースに保存する前に、

htmlentities($_POST['txtAreaName'], ENT_QUOTES, "UTF-8"); // return `&aacute;`
于 2012-11-08T16:56:32.237 に答える
0

htmlspecialchars を探しているかもしれません。

echo htmlspecialchars('<á>', ENT_COMPAT | ENT_HTML5, "UTF-8");

出力します&lt;á&gt;

于 2012-11-08T19:22:55.950 に答える