なぜこれが起こっているのか考えていますか?
主にアポストロフィとハイフンで発生しているようです。これを修正できるかどうかアイデアはありますか?データベースからデータを取得し、次のようなページに印刷します。
<div class="block">
<?=$details['agenda'] ?>
</div>
なぜこれが起こっているのか考えていますか?
主にアポストロフィとハイフンで発生しているようです。これを修正できるかどうかアイデアはありますか?データベースからデータを取得し、次のようなページに印刷します。
<div class="block">
<?=$details['agenda'] ?>
</div>
他のコメント投稿者が言及しているように、これは文字エンコードの問題です。運が良ければ、HTMLページを強制的にUTF-8でレンダリングすると、問題が解決します。
残念ながら、運が悪ければ、文字が間違ったエンコーディングでデータベースに保存されていることに気付くでしょう。あるいは、データベースがそれらを変換するかもしれません。または、文字エンコードデータがパスに沿って破壊された可能性があります。それらのキャラクターがどこでダメージを受けたかを事前に知る方法はありません。
このような問題を修正するために私が知っている最善の方法は、パスに沿ったすべてのステップでUTF-8コンテンツエンコーディングに従うように強制することです。たとえば、おそらく次のような手順を実行します。
nvarchar
(またはデータベースでサポートされているUnicodeタイプを使用してください)。ただし、これを修正するのは非常に難しいです。昔、私は次のような「検出と修正」ルーチンを作成する習慣がありました。
$smartquotes = array("”", "“");
str_replace($smartquotes, '"', $mytext);
もちろん、あなたは問題が何であるかを知っています-私は私が修正しなければならなかった新しいキャラクターを発見し続けるでしょう。Microsoft Wordは、著作権、登録マーク、アポストロフィ、ハイフンなど、多くの珍しい文字を使用するのが好きです。夢中になるまで、この関数を何度も追加し続けていました。そのため、最近はコンテンツ配信パス全体を調べて、すべてをUTF-8ルールに強制的に従わせています。ほとんどの場合、それで解決するようです。
幸運を!