首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何允许字符串格式的百分比符号获取搜索结果?

如何允许字符串格式的百分比符号获取搜索结果?
EN

Stack Overflow用户
提问于 2019-03-05 21:50:40
回答 1查看 291关注 0票数 0

我正在尝试获取搜索结果。如果给定的搜索关键字带有百分号,则不会给出结果(产品名称中有%)。它只接受不带百分号的关键字。

我们得到结果的搜索关键字:Blue Band Koken & Opkloppen 31 Lactosevrij 1L对应于url中的?q=Blue+Band+Koken+%26+Opkloppen+31+Lactosevrij+1L&xyz格式

我没有得到结果的搜索关键字:Blue Band Koken & Opkloppen 31% Lactosevrij 1L对应于url中的?q=Blue+Band+Koken+%26+Opkloppen+31%25+Lactosevrij+1L&xyz格式

实际产品名称:Blue Band Koken & Opkloppen 31% Lactosevrij 1L解码器无法解码%。因此,下面的代码出现错误:

Java代码:

代码语言:javascript
复制
public static String getEncodedParam(String string) {
 if (StringUtils.isBlank(string)) {
  return Constants.Strings.EMPTY;
 }

 String encodedString = string;
 try {
  if (string.equals(URLDecoder.decode(string, Constants.Encoding.UTF8))) {
   encodedString = URLEncoder.encode(string, Constants.Encoding.UTF8);
  }
 } catch (UnsupportedEncodingException e) {
  throw new IllegalArgumentException("Argument is not in a correct state.");
 }
 return encodedString;
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-05 21:54:13

您必须对查询字符串中的文本进行URL编码。在Java语言中,一种方法是使用URLEncoderencode方法之一。

例如:

代码语言:javascript
复制
String search = "Blue Band Koken & Opkloppen 31% Lactosevrij 1L";
String query = "?q=" + URLEncoder.encode(search, "UTF-8");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55004373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档