CKEditor:ajax提交后的奇怪字符

CKEditor:ajax提交后的奇怪字符,ajax,ckeditor,character,Ajax,Ckeditor,Character,我正在使用ajax收集CKEditor内容并将其提交到服务器。一旦我在提交后查看它,所有html标记都已转换为它们的html实体。这不是我想要的,因为我显然需要保留HTML 我做错什么了吗?有几个问题: 您正在使用哪个AJAX库 您使用什么方法从CKEditor获取内容 我使用jQuery+validate(表单验证插件)提交表单 CKEditor绑定到的文本区域名为body 由于某种奇怪的原因,当我提交表单时,根本没有提交内容。查看HTML,我发现textarea没有被CKEditor填充(不

我正在使用ajax收集CKEditor内容并将其提交到服务器。一旦我在提交后查看它,所有html标记<和>都已转换为它们的html实体。这不是我想要的,因为我显然需要保留HTML

我做错什么了吗?

有几个问题:

  • 您正在使用哪个AJAX库
  • 您使用什么方法从CKEditor获取内容
  • 我使用jQuery+validate(表单验证插件)提交表单

    CKEditor绑定到的文本区域名为body

    由于某种奇怪的原因,当我提交表单时,根本没有提交内容。查看HTML,我发现textarea没有被CKEditor填充(不要问我为什么)

    我所做的就是在提交之前,手动从CKEditor获取数据并将其保存到textarea中。一行jquery就足够了

    $( '#body' ).val( CKEDITOR.instances.body.getData() );
    
    然后正常进行表单提交。jQuery有一个非常好的数据序列化方法—一个名为serialize()的函数,我使用它将整个表单的数据转换为字符串。在PHP端,该字符串自动转换为$\u POST数组的成员

    你应该尝试同样的方法,看看它是否适合你

    如果您仍然被卡住,请在此处发布代码

    干杯,
    m^e

    正确的是在该配置中设置
    实体:false

    最后,我意识到我的服务器没有将数据保存在UTF-8上,即使ajax以这种方式发送数据。因此,我修复了这个问题,数据保存正确。

    最后我意识到,即使ajax以这种方式发送数据,我的服务器也没有将数据保存在UTF-8。所以,我修正了这个问题,数据保存正确。你是如何让你的服务器在UTF-8上保存数据的?你有没有可能将你的答案重新格式化为清晰的?我也有同样的问题。你能解释一下如何解决这个问题吗?