Javascript变量和带有AJAX的特殊命令,以$\u在php中获取

Javascript变量和带有AJAX的特殊命令,以$\u在php中获取,php,javascript,ajax,get,special-characters,Php,Javascript,Ajax,Get,Special Characters,我有一个带有CKEditor的文本表单: <textarea id="descrizione_it"></textarea> <textarea id="descrizione_fr"></textarea> ... many others inputs ... <button onclick="addDataProd()"> PHP将获取数据并更新数据库 现在,如果我在CKEditor textarea上写了一些特殊的字符,

我有一个带有CKEditor的文本表单:

<textarea id="descrizione_it"></textarea>
<textarea id="descrizione_fr"></textarea>
... many others inputs ...    
<button onclick="addDataProd()">
PHP将获取数据并更新数据库

现在,如果我在CKEditor textarea上写了一些特殊的字符,这些字符总是会立即转换为htmlentities(è)

如果我写在JS上

alert(descrizione_fr)
我得到的字符串是用CKEditor编写的,例如

èèè

但是当我在php中回显字符串时,字符串就在特殊字符之前停止

例如,JS:

alert(descrizione_fr)
结果:

test_test_&egrave;test
test_test_
PHP:

结果:

test_test_&egrave;test
test_test_
我怎样才能解决这个问题


谢谢大家!

您可以尝试使用浏览器解析器执行此功能。

我不知道这是不是最好的办法。但我发现并使它成为纯javascript。 希望能有所帮助


编辑:使用textContent(IE9+)作为默认值,使用innerText作为兼容的后备方法

encodeURIComponent(var)是正确的方法?对于textareas(CKEditor),最好发布数据,而不是使用GET。谢谢。使用encodeURIComponent(var_to_encode)我得到了相同的结果。。。也许使用这个更好?我在考虑
innerText
属性。。我不知道Firefox是否能识别它。。但是也有
textContent
。这正好解决了您的html编码/解码问题。。在您的
警报(descripione\u fr)
上使用它,就像
警报(html\u decode(descripione\u fr))
。。仅当您知道内容时才使用它,它还将解析脚本标记。。
function html_decode(text){
    var div = document.createElement("div");
    div.innerHTML = text;
    return ("textContent" in div) ? div.textContent : div.innerText ;
}