htmlspecialchars($var)
私のプロジェクトが全体で utf-8 であり、常に utf-8 エンコーディングで使用されていると仮定すると、出現するすべてのtoを変更すると壊れる可能性のある合法的なものはありhtmlspecialchars($var, ENT_QUOTES, 'utf-8')
ますか?
私は 1 つのことを知っています: 明らかに、一重引用符もエスケープするという点でENT_QUOTES
とは異なります。ENT_COMPAT
これだけで何も壊れないことがわかっているとしたら、他に何か残っていますか?
別の表現:
charset パラメーターを使用した場合のhtmlspecialchars()とは異なるcharset からのデータのみが与えられた場合、 charset パラメーターなしで使用した場合のhtmlspecialchars()の考えられる結果はありますか?
(いつでもhtmlspecialchars($stringThatIsValidUTF8, ENT_QUOTES) !== htmlspecialchars($stringThatIsValidUTF8, ENT_QUOTES, 'utf-8')
ですか?)
私の理解では、決してノーと言っています。ここでのstackoverflowに関する別の質問も、いいえを示唆しています。これまでのところ、変更を加えたプロジェクトのサンドボックスをブラウジングしても「いいえ」と表示されます。ただし、何かを見落としているかどうかはわかりません。