2

私はしばらくこのプロセスに苦労していたので、助けを借りることができました.

現在、ユーザーが TinyMCE を使用して自分のページを編集できるページがあります。

ワークフローは基本的なものです。ユーザーが編集を行います -> 送信 -> SQL ファイルへの AJAX 呼び出し -> db での SQL ファイルの更新。

問題は、AJAX がデータを受信し、コンテンツに & があるとデータ文字列が失敗するため、入力をエンコード/デコードする必要があることです。

<script>
$(document).ready(function() {
    $('#edit').click(function () {
        var content = escape(tinyMCE.activeEditor.getContent());
        $.ajax({
            url: "AJAX_edit_information.php", 
            type: "POST",
            data: "content="+content,     
            success: function (msg) {
                //alert('blabla..');
            }       
        });
    });
}); 

AJAX_edit_information.php にはいくつかのチェックが含まれており、データの送信に使用されているコードは次のとおりです。

$inhoud = html_entity_decode(stripslashes($_POST['content']));
$query = "UPDATE informatie SET inhoud='$inhoud' WHERE id='1'";
$result = mysql_query($query);

これまでにテストしたもののほとんどは、エンコードされた奇妙な文字を除いて機能します。

データをプルするページには、次のコードがあります。

$query = "SELECT * FROM informatie";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo html_entity_decode(stripslashes($row['inhoud']));

テキストを見ると、%u0308、%u0301o、%u0301 などの奇妙な文字が表示されます。これが私の質問です。プロセスで何を監視していますか。ありがとう

4

1 に答える 1

6

問題を修正しました..

TinyMCE エディターを宣言するとき、次のオプションがあります。

tinyMCE.init({
        ...
        entity_encoding : "raw"
});

このオプションは、エンティティ/キャラクターが TinyMCE によってどのように処理されるかを制御します。値は、以下のエンコーディング タイプに示すように設定できます。

詳細については、http ://www.tinymce.com/wiki.php/Configuration:entity_encoding をご覧ください。

于 2013-04-12T17:01:03.213 に答える