php - JavaScript 到 PHP - POST 编码问题

标签 php javascript post encoding utf-8

我正在尝试将字符串从客户端 JavaScript 发送到后端 PHP 脚本。该字符串包含特殊引号,例如 '

当我查看 Chrome 中的控制台时,我可以看到这些内容按原样在 POST header 中发送。在 PHP 方面,我立即 json_encode() $_POST 数组并将其发回以查看其收集的内容。特殊字符现在看起来像这样 \u2019这是为了测试,请注意我通常会清理所有发布数据。

我希望使用 UTF-8,但我不确定我缺少什么。我的 HTML 包括:

<meta charset="utf-8">

我的 PHP 服务器将 UTF-8 设置为其默认字符集。

如果我开始将这些数据保存到数据库中,我就会开始得到这样的字符串:[* for 。然而,这不是数据库问题,字符在进入数据库之前就已经坏了。 MySQL 纯粹是为了强调它们。

有什么想法吗?

更新

我注意到,如果我在不使用 json_encode() 的情况下将字符串返回给 javascript,那么它会采用原始​​格式,并带有特殊引号 (')仍然如此。

最佳答案

你尝试过吗:

utf8_decode()

在服务器端传递变量? PHP 可能需要 iso-8859-1 而不是 uft-8

关于php - JavaScript 到 PHP - POST 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298634/

相关文章:

php - 子类覆盖父静态属性

php - !is_null() 没有按预期工作

python - 如何修复 {"message": "The method is not allowed for the requested URL." } for my post method?

php - Laravel 6.x - 'create()' 使用数据库默认值记录

php - 变量存在并且有一个值,并且仅返回一个 bool 值

javascript - 插件 sdk 更新 simple-prefs 值

javascript - 如何根据表行调用具有动态参数的 Javascript 方法?

python-3.x - 为什么 urllib.parse.urlencode 不将 '_' 更改为 %5F?

php - ZF2 项目在克隆到本地服务器时停止工作

javascript - 获取当前表行的值