REST请求中的特殊字符

Jon*_*ark 8 php rest codeigniter

我正在使用CodeIgniter和Phils RESTserver开发API.我正在尝试发送包含特殊字符的POST请求,但该字符串未添加到数据库中.

CodeIgniter还说这lastname是必需的(它不存在于字符串中).为什么?

我使用这种格式:

application/x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)

这是我的字符串:

firstname=Andrew&lastname=Åsberger
Run Code Online (Sandbox Code Playgroud)

我可以使用特殊字符进行国际化非常重要.

感谢所有输入!

Jon*_*nna 6

您应该对每个名称和值进行URI编码.希望客户端和服务器代码都同意UTF-8应该用于编码US-ASCII范围之外的字符的八位字节(因为早期的URI编码标准不是特定的,并且有遗留代码在那里尝试其他编码),所以你的例子变成:

firstname=Andrew&lastname=%C3%85sberger

就像在与GET一起使用的URI的查询部分中一样.