Sin*_*ino 2 php ajax encoding tinymce decoding
我已经为这个过程苦苦挣扎了一段时间,因此我可以使用一些帮助。
我目前有一个页面,用户可以在其中使用TinyMCE编辑其页面。
工作流是基本的:用户进行编辑->提交->对SQL文件的AJAX调用->数据库中的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..');
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
AJAX_edit_information.php包含一些检查,用于提交数据的代码为:
$inhoud = html_entity_decode(stripslashes($_POST['content']));
$query = "UPDATE informatie SET inhoud='$inhoud' WHERE id='1'";
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我测试过的大多数东西都可以正常工作,除了编码的怪异字符。
在我提取数据的页面上,我有以下代码:
$query = "SELECT * FROM informatie";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo html_entity_decode(stripslashes($row['inhoud']));
Run Code Online (Sandbox Code Playgroud)
当我看到文本时,我得到了一些奇怪的字符,例如:%u0308,%u0301o,%u0301。
我解决了问题。
声明TinyMCE编辑器时,您可以选择:
tinyMCE.init({
...
entity_encoding : "raw"
});
Run Code Online (Sandbox Code Playgroud)
此选项控制TinyMCE如何处理实体/字符。可以如下面的编码类型中所示设置该值。
有关更多信息,请参见:http : //www.tinymce.com/wiki.php/Configuration : entity_encoding