用短语替换短划线字符(Ajax调用)

时间:2016-05-13 08:51:54

标签: javascript php jquery ajax encoding

我正在进行标准的jQuery $.ajax()调用,进行POST。该调用将字符串传递给PHP控制器。

问题如下:当字符串中使用 en dash ( - )字符时,到达PHP时,它被替换为(?)字符。正常的连字符( - )不会导致问题。

网站的编码是UTF-8。我不知道如何解决这个问题。我可能会做一些角色替换,但是我需要为每一个角色替换#34;有问题的"标点符号?

除了问题之外,如果编码正确,那么这不应该工作吗?

混乱。

更新

我在传递的字符串上使用了mb_detect_encoding()。结果是" ASCII" ...我正在使用遗留代码。我该如何解决这类问题?

1 个答案:

答案 0 :(得分:0)

在PHP方面,$_REQUEST全局用于检索Ajax数据。在我将其更改为$_POST后,保留了短划线。

我真的不明白为什么$_REQUEST失败了。

无论如何,这适用于这种情况。我真的不喜欢编写此代码并创建此项目的开发人员:)