2011-02-10 21 views
1

私はデータベースに保存された以下の文字列を持っています: "cocotte & kekette"。
PHPでクエリを実行してWebページに表示すると、文字列 "cocotte & kekette"が表示されます。
これを修正する方法を教えてもらえますか?代わりに表示します&

+1

いくつかのコードを示してください。文字はある時点でエンティティに変換されます –

+1

'&'はHTMLの予約文字です**常にリンクのクエリ文字列でも** ** &に変換する必要があります。 'é'や 'é'のようなエンティティを表示するために予約されています。 「&」と表示されていると、おそらくダブルエンコードされている(つまり、「& amp;」)。 – netcoder

+0

少なくともコードを投稿する1.あなたはdbにデータを格納し、そして2.howではdbからデータを取得します。 – enam

答えて

5

あなたはおそらく、そもそもデータベースに "ココット& keketteを" 保存されたことを意味し

html_entity_decode($string); 

それとも

mb_convert_encoding($string, "HTML-ENTITIES", "UTF-8"); 
+0

この回答は状況によっては危険です。何が起こったのかは、データが保存前に(一貫して正確に)エンティティエンコードされていれば、ソリューションは出力前にデコードするのではなく、そのままデータベースから出力することです。 – Artefacto

+0

は動作しません。 – Mamadou

1

のいずれかを試してみてください。そうでない場合は、文字列をダブルエンコードします。

正しいパスは、データベースにエンコードされていないデータを保存することです。可能でないことは、$double_encode引数(FALSEに設定)をhtmlspecialcharsに参照してください。

+0

DBにココット&ケケットとして保存されていますが、ここに記載されているすべての機能は動作しません – Mamadou

関連する問題