libcurl 如何获取中文目录?

我使用下面代码来获取 ftp 服务器的目录:

#include <curl/curl.h>
#include <cstdio>

int main()
{
    CURL *curl;
    CURLcode ret;

    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();

    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL,
            "ftp:/xxx.xxx.xxx.xxx");
        ret = curl_easy_perform(curl);
        if (CURLE_OK != ret) {
            fprintf(stderr, "ERROR: %s", ret);
        }
    }

    curl_global_cleanup();

    return 0;
}

运行确实是能够获取,但是只要文件名出现中文,就会统统变成 ��ȫ�� � 这样的乱码。

请问各位如何解决,谢谢!

阅读 8.5k
1 个回答

如果两边的编码一致是不会乱码的,如果可以的话尽量配置ftp成utf-8编码的文件名,否则需要在代码里进行麻烦的编码转换,或者修改终端编码(不建议)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进