CKEditor:ajax送信後の奇妙なキャラクター
質問
私はajaxを使用してCKEditorコンテンツを収集し、サーバーに送信しています。それが提出された後にそれを見ると、すべてのhtmlタグ<!> lt;および<!> gt; htmlエンティティに変換されました。私は明らかにHTMLを保存する必要があるので、これは私が望むものではありません。
間違ったことをしましたか?
解決 2
最終的に、ajaxがこの方法でデータを送信していても、サーバーがUTF-8でデータを保存していないことに気付きました。そこで、それを修正し、データを正しく保存しました。
他のヒント
いくつかの質問:
- どのAJAXライブラリを使用していますか
- CKEditorからコンテンツを取得するためにどのような方法を使用していますか
フォームの送信にjQuery + validate(フォーム検証プラグイン)を使用します。
CKEditorがバインドされているテキストエリアの名前は body です。
フォームを送信したときの奇妙な理由で、コンテンツがまったく送信されていませんでした。 HTMLを見ると、CKEditorによってtextareaが入力されていないことがわかりました(理由は聞かないでください)。
送信する直前に、CKEditorからデータを手動で取得し、テキストエリアに格納しました。 jqueryの1行で十分です。
$( '#body' ).val( CKEDITOR.instances.body.getData() );
次に、通常どおりフォーム送信を続行します。 jQueryには非常に優れたデータシリアル化メソッドがあります- serialize()と呼ばれる関数で、フォームのデータ全体を文字列に変換するために使用します。 PHPの最後では、この文字列は $ _ POST 配列のメンバーに自動変換されます。
同じアプローチを試して、うまくいくかどうかを確認する必要があります。
まだ動かない場合は、ここにコードを投稿してください。
乾杯、 m ^ e
正しいのは、この設定で設定することです エンティティ:false