私は何時間も読んでいますが、エンコーディングの問題を完全に理解することはできません。charset=utf-8 を指定して PHP を使用しています。箇条書き • や矢印 ⇒ などの特定の文字をテキストエリアに入力できるようにしたいと考えています。mySQL データベースに直接保存すると、シンボルはそこに正しく保存されます。データベースから保存されたテキストを表示するには、次の関数を呼び出して、保存されているシンボルをテキストエリアに変換します。
function htmlspecialchars2($string, $flags=ENT_NOQUOTES){
$string = htmlspecialchars($string, $flags); // to help prevent code injection
$string = str_replace(chr(149), "•", $string); // converts bullet to html
$string = str_replace("⇒", "⇒",$string); // don't know the ascii code for the arrow
return $string;
}
これは弾丸には機能しますが、矢には機能しません。拡張 HTML 文字を保存 (および再表示) する方法の提案。見つけたものはすべて読みましたが、何かが欠けています。