php - REST、PHP - 处理客户端的 POST 数据字符编码

标签 php json rest character-encoding

在我用 PHP 编写的 RESTful 服务中,为了更新资源,客户端在请求内容中通过 POST 发送原始 JSON(不是来自表单,这意味着 Content-Type:application/json)

我应该如何处理请求以防止出现字符编码问题?

我应该在处理客户端发送的数据之前将其转换为 UTF-8,还是我应该假设它是 utf-8?

我问这个问题是因为 JSON 可以用不同的方式编码。

谢谢。

最佳答案

我建议您编写 PHP 代码以假设所有传入的 JSON 数据都编码为 UTF-8,因为那是 default in the spec ,当然也是大多数 JSON 编解码器中的默认值。

最好在您的 API 文档中明确说明 application/json 内容假定为 UTF-8。如果客户端想要传输不同编码的 JSON,请指示他们传递一个不同的 Content-Type header ,该 header 指定非默认编码, header 如下所示:Content-Type: application/json; charset=UTF-16.

关于php - REST、PHP - 处理客户端的 POST 数据字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25332863/

相关文章:

java - 是否有使用消息参数作为属性创建 JSON 对象的 Logback 布局?

java - 如何在 Java 中创建和访问列表列表.. 的列表?

java - 从rest服务以json格式返回Map

php 和 sql 'INSERT INTO' 未填充 sql 数据库

java - 路径更改时 Servlet init 失败?

php - Python 将文件行分成列表以发送到 MySQL

java - Restful 图片上传异常

java - 使现有 API 更加 RESTful

php - 通过mysql触发器从数据库表中删除路径后从文件夹中删除图像

javascript - 如何使用php和mysql更改密码?