ckeditor を使用するバックエンドを使用しています。config.js には何も変更がないため、アクセント付きのフランス語の文字が自動的に html エンティティに変換されます。
é と入力して ckeditor のソースを確認すると、é
このフィールドが対応するデータベース テーブルは utf8_general_ci です。
ページの文字セットは次のとおりです。<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
したがって、フロントエンドをロードすると、次のように表示されます。
�</p>
é を ckeditor ソースに入力すると、html エンティティに変換されないため、ページに正しく表示されます。
config.entities = false; によって ckeditor config.js のカバーをオフにすると、次のようになります。
次に、é を入力して ckeditor のソースを確認すると、é のままなので、これでうまくいくと思いました。
ただし、フロントエンドをロードすると、次のエラーが表示されます。
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\site\includes\functions\clean_code.php(162) : eval()'d code on line 34
ここに clean_code.php コードを貼り付けることができますが、サイト全体で変更しないことが重要だと思います。だから私はちょっと立ち往生しています。私に何ができる?
編集:
わかりましたので、次の方法で説明をエコーしていた変更まで追跡しました。
echo stripslashes( tep_sanitize_html( html_entity_decode( stripslashes( $product_info[ 'products_description' ] ) ) ) );
これを行うバニラの方法は次のとおりです。
<?php echo stripslashes($product_info['products_description']); ?>
したがって、このアドオンの開発者がサニタイズ html メソッドとデコードを使用することにした理由はわかりません。ただし、それらを削除して元の方法に戻すと機能します。