java 转码 问题怎么解决!!!!

时间:2021-09-29 20:02:37
我碰到这样的问题:
需要生成一个域名,域名有前缀 +关键词+后缀形成,
这样相当于是到百度或者搜搜等搜索框中填上关键词之后,进行访问搜索,
都是由于不同网站有些需要转码,所以对关键词必须进行转码,
下面是遇到的一个问题:
我想搜索的是产品:假如关键词是    十二醇
http://www.chemyq.com/chemyq/prodsch.asp?Keyword=%CA%AE%B6%FE%B4%BC&Prov=0&PType=1
在网站上面输入就会看到变成这样的域名:
前缀是:http://www.chemyq.com/chemyq/prodsch.asp?Keyword=
关键词被转码为:%CA%AE%B6%FE%B4%BC   
关键词对应的意思应该就是:十二醇 
后缀是:&Prov=0&PType=1

该网站的编码是:charset=gb2312

现在我的需要就是在程序中这样做:
String prefix_url="http://www.chemyq.com/chemyq/prodsch.asp?Keyword=";
String keyname="十二醇 ";
//  keyname经过怎么样的处理能得到转码:%CA%AE%B6%FE%B4%BC 
//  HOW TO DO ?
String post_url="&Prov=0&PType=1";
String visited_url=prefix_url+keyname+psot_url;
这样一来我的visited_url就相当于在网页上搜索框中输入一个关键词得到的域名,目的就是为了让程序自动访问

请问各位路过的朋友,该怎么处理转码的问题,在java中?
谢谢各位!!!

5 个解决方案

#1


URLEncoder.encode("十二醇", "gbk")

#2


URLEncoder.encode("keyname", "BGK");

#3


URLEncoder 和 urldecoder

#4


引用 1 楼 sunlotus0 的回复:
URLEncoder.encode("十二醇", "gbk")


请问怎么样再把它弄回去啊

#5


引用 1 楼 sunlotus0 的回复:
URLEncoder.encode("十二醇", "gbk")


引用 2 楼 fengspg 的回复:
URLEncoder.encode("keyname", "BGK");


引用 3 楼 slt12157905 的回复:
URLEncoder 和 urldecoder


我现在是又遇见一个问题,我用浏览器的审查元素测试我的提交按钮,跟踪发现是一段转码字符,
我想把他们弄回去,返回汉字怎么办?
比如:
D2z6RJpM7Z742iZ74geqJiei1wCAK7ZgCCxc9RkPHQqZwUZqMduH0cZEOoUU%2F6dRSyyCNmKoT%2FzAZZCfNyig66On7YrdvQJU
我现在不知道这段字符是是怎么得来的,所以我想返回他们的结果试试:
这个如果是转码应该是  utf-8

#1


URLEncoder.encode("十二醇", "gbk")

#2


URLEncoder.encode("keyname", "BGK");

#3


URLEncoder 和 urldecoder

#4


引用 1 楼 sunlotus0 的回复:
URLEncoder.encode("十二醇", "gbk")


请问怎么样再把它弄回去啊

#5


引用 1 楼 sunlotus0 的回复:
URLEncoder.encode("十二醇", "gbk")


引用 2 楼 fengspg 的回复:
URLEncoder.encode("keyname", "BGK");


引用 3 楼 slt12157905 的回复:
URLEncoder 和 urldecoder


我现在是又遇见一个问题,我用浏览器的审查元素测试我的提交按钮,跟踪发现是一段转码字符,
我想把他们弄回去,返回汉字怎么办?
比如:
D2z6RJpM7Z742iZ74geqJiei1wCAK7ZgCCxc9RkPHQqZwUZqMduH0cZEOoUU%2F6dRSyyCNmKoT%2FzAZZCfNyig66On7YrdvQJU
我现在不知道这段字符是是怎么得来的,所以我想返回他们的结果试试:
这个如果是转码应该是  utf-8