如何将一个带有汉字的连接装换成比如http://search.csdn.net/search.asp?option=advance&key=bcbuider%BB%D8%B8%B4&field=username的格式

stonecsdn 2004-08-25 09:41:51
如题,我将很快揭帖
...全文
276 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yajunmao 2004-10-15
  • 打赏
  • 举报
回复
试试看
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
谢谢ZHGUY(ZGY),用了你的方法解决问题,一会给分
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
但是如果在servlet中用response.sendRedirect(url),url中含有中文,在服务器端就会出现乱码,而不是%BB%D8%B8%B4
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
我用的服务器是weblogic。我的页面utf-8
IE中直接用中文在URL中传送没有问题的,不过在服务器端requestURI出现%BB%D8%B8%B4
但我一样使用
haitangli4 2004-08-25
  • 打赏
  • 举报
回复
关注
angelheart 2004-08-25
  • 打赏
  • 举报
回复
恩~~~ stonecsdn(东东)的问题我也碰到过~~
如果用tomcat5.0的话不会出现这个问题
不知道tomcat4.0怎么解决这个问题
还有,我发现tomcat5.0有response.setCharacterEncoding()方法而4.0没有
AgathaZ 2004-08-25
  • 打赏
  • 举报
回复
用URLEncoder转一下码就OK了
lianeng 2004-08-25
  • 打赏
  • 举报
回复
1、可以用java.net.URLEncoder来转换,裡面有個方法是encode(String)可以處理中文參數問題。
cnhxjtoa 2004-08-25
  • 打赏
  • 举报
回复
帮你UP
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
我可以在浏览器里发送带有中文的连接,但是如果在servlet中使用response。sendRedirect(url)方法,url中带有中文,传到服务器端就会出现乱码
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
我试试
ZHGUY 2004-08-25
  • 打赏
  • 举报
回复
用这个可以
public static String toUtf8String(String s)
{
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255)
{
sb.append(c);
}
else
{
byte[] b;
try
{
b = Character.toString(c).getBytes("utf-8");
}
catch (Exception ex)
{
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++)
{
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
asdfew345 2004-08-25
  • 打赏
  • 举报
回复
可以用java.net.URLEncoder来转换,一般使用UTF-8编码,不过有些网站不是的,比如百度的就不是。你最好先测试一下转换后的编码是不是你需要的那种。
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
请各位帮忙了
stonecsdn 2004-08-25
  • 打赏
  • 举报
回复
up

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧