gpt4 book ai didi

android - header 为Content-Type的响应:text/plain; charset = utf-8给我一个带有�字符的message()

转载 作者:行者123 更新时间:2023-11-29 02:20:13 25 4
gpt4 key购买 nike

我正在使用Retrofit2构建一个与REST API通信的android应用。一切正常,除非应用程序收到带有自定义消息的文本/纯文本响应。标头告诉我content-type在UTF-8中,但是当我得到Retrofit.message()时它会打印带有``。

当我使用邮递员发出POST请求时,消息是正确的。

状态:400Códigode documentonãolocalizado。

改造实例是这样创建的:

    val instance: Retrofit by lazy {
Retrofit.Builder()
.baseUrl(createBaseUrl())
.client(createClient())
.addConverterFactory(GsonConverterFactory.create())
.build()
}

private fun createClient() = OkHttpClient.Builder()
.connectTimeout(BuildConfig.CONNECTION_TIMEOUT, TimeUnit.SECONDS)
.readTimeout(BuildConfig.READ_TIMEOUT, TimeUnit.SECONDS)
.writeTimeout(BuildConfig.READ_TIMEOUT, TimeUnit.SECONDS)
.build()

private fun createBaseUrl() = HttpUrl.get(BuildConfig.API_URL)


我以这种方式处理响应者:

        val response = call().execute()
if (response.isSuccessful)
success(response.body())
else
Result.Failure.Response(response.code(), response.message())


例如,我得到这样的响应:

标头:

Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/plain; charset=utf-8
Expires: -1
Server: Microsoft-IIS/10.0
X-BuildInfo: 1.0.0.3473-20190131-140734
X-Frame-Options: DENY
Date: Thu, 13 Jun 2019 12:40:16 GMT
Content-Length: 0
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN


原始回应:

代号:400
讯息:地方文件编号。

消息应以这种方式打印:Códigode documentonãolocalizado。

我不知道问题是翻新还是gson-converter,但我没有发现问题所在或如何解决这个问题。

有人可以帮我解决这个问题吗?

最佳答案

不知道它是否回答了您的问题,但我没有足够的声誉来发表评论。
问题是-您确定您的控制台(或在哪里看到输出?)支持所需的语言环境?

假设您也可以尝试将UTF-8添加到Gradle属性中?检查此问题的示例:
Show UTF-8 text properly in Gradle

关于android - header 为Content-Type的响应:text/plain; charset = utf-8给我一个带有�字符的message(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581556/

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