CKEditor / Ajax特殊字符编码/解码不起作用

时间:2011-02-06 11:47:01

标签: php ajax ckeditor character

我正在使用CKEditor,并输入一些带有特殊字符的文字:“Bâtisseursinssionnés”,注意法国特殊字符。然后我使用javascript escape()来获取输入并通过AJAX / JSON将其发送到PHP服务器脚本。

在PHP方面,在使用urldecode()之前和之后,日志输出如下所示,它似乎转换了

标记部分,但特殊字符只显示为“?”并存储在数据库中。我应该使用另一个电话吗?或者urldecode中不包含特殊字符?

$json = json_decode($data);
error_log("URLDecode: before: " . $data);
error_log("URLDecode: after: " . urldecode($data));

,输出看起来像

URLDecode: before: %3Cp%3E%0A%09B%E2tisseurs%20passionn%E9s%3C/p%3E%0A
URLDecode: after: <p>
    B?tisseurs passionn?s</p>

1 个答案:

答案 0 :(得分:1)

转义不是php urldecode 的匹配对。
在javascript中使用encodeURIComponent

  

escape和unescape功能
  对于非ASCII字符,escape和unescape函数无法正常工作,并且已被弃用。在JavaScript 1.5及更高版本中,使用encodeURI,decodeURI,encodeURIComponent和decodeURIComponent。

MDC:functions