我有一个文本字段,用户可以在其中传递通配符 - 更具体地说明他们可以使用“%”字符的问题。
我正在使用 ajax 获取值并将其发送到 PHP 文件。如果我在文本文件中输入“%BA”并使用
检索值document.getElementById('textfield').value
这实际上得到了“%BA”。我正在使用 POST 方法将其发送到 PHP 文件。但该变量在 Web 浏览器中显示为“�”,并在数据库中插入“° - 度数小 o”。
我确信还有其他我不知道的情况。 PHP 中是否有函数可以转义特殊字符或以其他方式获取确切的字符串?
编辑:这可能是一个猜测,但是执行escape(document.getElementById('textfield').value)
来发送值并使用urldecode($values[3])
检索值不起作用。也许这是 js 到 PHP 的问题。
更新:urldecode 将不起作用。阅读 urldecode 中的第一条评论。使用那里的功能。已解决。
最佳答案
使用ajax传递值时,只需使用encodeURIComponent()函数对值进行编码,然后使用urldecode()函数在php文件中对其进行解码。这可能会解决问题。
关于php - 在 PHP 中传递特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585250/