Javascript 用问号替换的破折号字符(Ajax调用)
我正在进行一个标准的jQueryJavascript 用问号替换的破折号字符(Ajax调用),javascript,php,jquery,ajax,encoding,Javascript,Php,Jquery,Ajax,Encoding,我正在进行一个标准的jQuery$.ajax()调用,并发布一篇文章。调用将字符串传递给PHP控制器 问题如下:当字符串中使用(–)字符时,当它到达PHP时,它将被替换为(?)字符。正常连字符(-)不会导致问题 该站点的编码是UTF-8。我不知道如何避开这个问题。我可能可以做一些字符替换,但我是否需要为每个“有问题”的标点符号做替换 撇开问题不谈,如果编码是正确的,这难道不应该起作用吗 令人困惑 更新: 我对传递的字符串使用了mb\u detect\u encoding()。结果是“ASCII”
$.ajax()
调用,并发布一篇文章。调用将字符串传递给PHP控制器
问题如下:当字符串中使用(–)字符时,当它到达PHP时,它将被替换为(?)字符。正常连字符(-)不会导致问题
该站点的编码是UTF-8。我不知道如何避开这个问题。我可能可以做一些字符替换,但我是否需要为每个“有问题”的标点符号做替换
撇开问题不谈,如果编码是正确的,这难道不应该起作用吗
令人困惑
更新:
我对传递的字符串使用了
mb\u detect\u encoding()
。结果是“ASCII”。。。我正在使用遗留代码。如何修复这样的问题?在PHP方面,使用了$\u请求
global来检索Ajax数据。我将其更改为$\u POST
后,保留了en破折号
不过,我真的不明白为什么$\u请求
失败了
不管怎样,这在这个案例中起了作用。我真的不喜欢编写此代码并创建此项目的开发人员:)PHP脚本编码如何
站点的编码是UTF-8。
你的意思是HTML页面和PHP都是UTF8编码的吗?对Ajax中的字符串进行URL解码更新了问题。@a.Wolff Yep,PHP脚本也是UTF-8。@madalinivascu字符串被保存到数据库中。我解码后该怎么办?我还是要把破折号插在绳子上。只需要防止把它换成问号。