gpt4 book ai didi

java - 搜索URL中的汉字编码

转载 作者:行者123 更新时间:2023-12-02 11:46:15 26 4
gpt4 key购买 nike

我正在使用 Retrofit 在我的 Android 应用程序中构建 Elasticsearch 的搜索请求。以下是我的代码:

Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ElasticSearchAPI searchAPI = retrofit.create(ElasticSearchAPI.class);
HashMap<String, String> headerMap = new HashMap<>();
headerMap.put("Authorization", Credentials.basic("user", elasticSearchPassword));

String searchString = "title:"+ title;
Call<HitsObject> call = searchAPI.search(headerMap, "AND", searchString);

从elasticsearch响应中我发现URL变成:url=http://35.xxx.xxx.48//elasticsearch/hashtags/hashtag/_search?default_operator=AND&q=title:%E6%B5 %B7%E5%BA%95%E6%8D%9E%E7%81%AB%E9%94%85

但是我这里传入的title是一个有效的中文字符串。我该如何解决这个问题?谢谢!

最佳答案

假设您使用 utf-8 编码。

String encodedUrl = "http://35.xxx.xxx.48//elasticsearch/hashtags/hashtag/_search?default_operator=AND&q=title:%E6%B5%B7%E5%BA%95%E6%8D%9E%E7%81%AB%E9%94%85";
String originalUrl = URLDecoder.decode(encodedUrl, "utf-8");
System.out.println(originalUrl);

关于java - 搜索URL中的汉字编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186122/

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