我在这个过程中挣扎了一段时间,所以我可以使用一些帮助。
我目前有一个页面,用户可以使用TinyMCE编辑他的页面。
工作流程是基本的:用户编辑->提交-> AJAX调用SQL文件-> SQL文件更新在db.
问题是,我必须编码/解码输入,因为当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, % u03010, %u0301..现在是我的问题,在我的过程中我监督什么…由于
我解决了这个问题…
当声明TinyMCE编辑器时,你有一个选项:
tinyMCE.init({
...
entity_encoding : "raw"
});
这个选项控制TinyMCE如何处理实体/字符。可按以下编码类型设置。
查看更多信息:http://www.tinymce.com/wiki.php/Configuration:entity_encoding