【发布时间】:2014-11-25 05:33:30
【问题描述】:
我正在学习 C,我正在使用 libcURL 发送 POST 请求以登录网站。
我偶然发现了一个问题,我的密码包含ü 字符。
从我的浏览器读取 POST 请求,我可以看到它被编码为 %FC。
但是,当使用curl_easy_escape()对其进行编码时,它会编码为%C3%BC。
我去搜索了,发现它是一种不同的编码。我认为是 ISO,因为页面有这个元:<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
但是,我无法弄清楚如何以某种方式对其进行转换。
现在,我将如何进行 urlencoding üas %FC?
【问题讨论】:
-
@HansPassant 为什么我需要更改语言环境?那不只影响多语言程序的输出吗?
-
可能值得在
libcurl标签上发布一个单独的问题,询问准备用于 POST 的字符串的正确/惯用方式。由于这是每个人都需要的东西,所以肯定有一个标准答案。可能发生的最坏情况是您发现标准解决方案是curl_easy_escape,并且您应该在将字符串传递给此函数之前自己进行字符集转换。 -
@R.. 通常,如果有an example from the library itself,我认为这应该是处理它的正确/惯用方式。
标签: c encoding character-encoding libcurl iso