質問

htmlentitiesが提供するものを実際に表示しようとしていますが、&は提供しません。ユーロ; €文字。

試しています

echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,ISO-8859-1),ENT_COMPAT,ISO-8859-1);
    echo '<br>';
    echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,UTF-8),ENT_COMPAT,UTF-8);

そして私は両方を得る

LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&amp; Iacute; DAS、RESERVE J&amp; Aacute;

LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&amp; Iacute; DAS、RESERVE J&amp; Aacute;

&amp;が表示されないユーロ;

これを正しく行う方法は誰でも知っていますか?

役に立ちましたか?

解決

これについては、こちらで説明しています。 &#8364; (&amp;#8364; )は頻繁に機能します。

他のヒント

これらのステートメントを使用するファイルの元のファイルエンコーディングは何ですか?

Windowsを使用している場合、ファイルが Windows-1252 (CP1252)および ISO-8859-1 内ではなく、< a href = "http://en.wikipedia.org/wiki/ISO/IEC_8859-15" rel = "nofollow noreferrer"> ISO-8859-2 または UTF-8

Windows-1252では&#8364; 記号は 0x80 であり、ISO-8859-15は&#8364; 記号を 0xA4 、ISO-8859-1には&#8364; 記号はまったくありません( Aron Rotteveelの回答を参照)。 文字列に使用される正しい文字セットを htmlentities() 。ベストプラクティスは、すべてのファイルにUTF-8エンコーディングを使用することです。

htmlentities(&quot; LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&#205; DAS、RESERVE J&#193;&quot;、ENT_COMPAT、 'Windows-1252')が動作する場合CP1252文字セットを使用して再。

また、上記の例の文字セットの前後に引用符がないことに気付きました。これも問題の原因になる可能性があります。

ISO-8859-1 の代わりに ISO-8859-15 を使用します。

ISO-8859-15(ISO Latin 9) ISO-8859-1(ISO Latin 1)とは異なり、ユーロ記号とフランス語とフィンランド語の文字が欠落しています Latin-1(ISO-8859-1)で。

echo htmlentities('Working htmlentities() now 99€ off!', ENT_COMPAT, 'ISO-8859-15');

戻る必要があります

Working htmlentities() now 99&euro; off!
scroll top