gpt4 book ai didi

jquery - CURL 不编码 UTF-8

转载 作者:行者123 更新时间:2023-12-03 23:02:21 31 4
gpt4 key购买 nike

我使用的是Windows 10curl 7.52.1。当我尝试将数据POST到WEBSERVICE时,curl没有将字符编码为UTF-8(我需要显示 pt-BR 字符,如 àáçÇãõ 等)

是的,我已经检查过this ,没有成功。

如果我将编码页面设置为 chcp 65001,错误仍然存​​在。更改为 chcp 1252 部分解决了问题。

看,如果我提示 echo Administração >> test.txt 而没有任何 chcp 更改,我会得到一个 Administra‡Æo

更改为 chcp 65001 后,我得到 Administração

更改为 chcp 1252 后,我终于得到了 Administração

但是使用curl,没有任何改变。

我尝试设置标题内容类型,但不幸运:

curl -X POST -h "Content-Type: text/plain; charset=UTF-8" --data-ascii "name=Administração" http//:localhost:8084/ws/departments

我得到以下输出:

{"holder":{"entities":[{"name":"Administra��o","dateReg":"2016 年 12 月 29 日下午 2:05:33"} ],"sm":{}},"message":{"text":""},"status":-1}

当我运行时(在JQuery中),我还检查了WS它是否接受字符编码:

$.ajax({
url:"http://localhost:8084/ws/departments",
type:"POST",
data: {name: "Administração"},
success: function(data, textStatus, xhr){
console.log(data);
}
});

我得到了预期的输出:

{"holder":{"entities":[{"name":"Administração","dateReg":"2016 年 12 月 29 日下午 2:03:17"}],"sm ":{}},"message":{"text":""},"status":-1}

我不知道我还能尝试什么来解决这个问题。请问你们能帮我吗?

提前致谢。

更新

根据@Dekel的建议,我还尝试使用外部文件作为数据二进制文件(test.txt中的内容是name=Administração):

curl -i -X POST -H "Content-Type: text/plain; charset=UTF-8" --data-binary "@test.txt" http://localhost:8084/ws/departments

我仍然得到这个不寻常的输出:

**{"holder":{"entities":[{"name":"Administra��o","dateReg":"Dec 29, 2016 2:41:27 PM"}],"sm":{}},"message":{"text":""},"status":-1}**

更新2

@Phylogenesis 建议使用 charset=ISO-8859-1。我注意到,即使返回 Administraà§ão 作为结果,在服务器端进行严格检查,WS 也会收到确切的信件,在本例中为 ç

最佳答案

经过与@Dekel的讨论以及来自@Phylogenesis的建议,我可以部分但有效地解决这个问题。有两种方法:

  • 字符集=ISO-8859-1
  • 对文件进行编码并作为二进制数据发送

服务器可以使用 charset=ISO-8859-1 接收正确的字母。甚至服务器的响应数据显示不正确。

我使用:curl -i -X POST -H "Content-Type: text/plain; charset=ISO-8859-1"--data-ascii "name=Administração"http://localhost: 8084/ws/部门

第二种方法是对包含您要 POST 的所有内容的文件进行编码。我使用了 Notepad++ > 格式 > 转换为 UTF-8(无 BOM)

然后,提示: curl -i -X POST -H "Content-Type: text/plain; charset=UTF-8"--data-binary "@test.txt"http://localhost: 8084/ws/部门

关于jquery - CURL 不编码 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41383336/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com