JavaScript到PHP - POST编码问题

时间:2013-03-08 16:24:56

标签: php javascript post encoding utf-8

我正在尝试从客户端JavaScript向后端PHP脚本发送字符串。该字符串包含等特殊引号。

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

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

<meta charset="utf-8">

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

如果我开始将这些数据保存到数据库,我开始使用这样的字符串:â 。但是这不是数据库问题在进入数据库之前,字符已经坏了。 MySQL纯粹强调了它们。

有什么想法吗?

更新

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

2 个答案:

答案 0 :(得分:0)

你试过了吗?

utf8_decode()

在服务器端,您传递的变量是什么? PHP很可能期望 iso-8859-1 而不是 uft-8

答案 1 :(得分:0)

事实证明,池塘两侧都存在问题。这个问题涉及的PHP问题是数据是通过GET请求(url编码)发送到后端的。我已将此更改为POST请求。

这允许我在发送POST请求的标头时指定UTF-8字符集。