MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » url后面如何传中文

url后面如何传中文(4)

www.MyException.Cn  网友分享于:2015-08-27  浏览:82次

p = text.indexOf("%", p);
if (p != -1)
p++;
sign += p;
}
return sign.equals("147-1");
}
/**
* 是否Utf8Url编码
* @param text
* @return
*/
public boolean isUtf8Url(String text) {
text = text.toLowerCase();
int p = text.indexOf("%");
if (p != -1 && text.length() - p > 9) {
text = text.substring(p, p + 9);
}
return Utf8codeCheck(text);
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
CharTools charTools = new CharTools();
String url;
url = "http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E4%B8%AD%E5%9B%

BD%E5%A4%A7%E7%99%BE%E7%A7%91%E5%9C%A8%E7%BA%BF%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%

A2&btnG=%E6%90%9C%E7%B4%A2&lr=";
if(charTools.isUtf8Url(url)){
System.out.println(charTools.Utf8URLdecode(url));
}else{
System.out.println(URLDecoder.decode(url));
}
url = "http://www.baidu.com/baidu?word=%D6%D0%B9%FA%B4%F3%B0%D9%BF%C6%D4%DA%

CF%DF%C8%AB%CE%C4%BC%EC%CB%F7&tn=myie2dg";
if(charTools.isUtf8Url(url)){
System.out.println(charTools.Utf8URLdecode(url));
}else{
System.out.println(URLDecoder.decode(url));
}
}
}
 



------解决方案--------------------
url编码
------解决方案--------------------
URLEncoder.encode()
------解决方案--------------------
有用。。谢啦!
------解决方案--------------------
使用 JSTL,保证页面编码为 UTF-8,并在 Tomcat 的 server.xml 的 Connector 元素中加上 URIEncoding="utf-8"

HTML code
<c:url value="http://......" var="url">
  <c:param name="namea" value="张三">
  <c:param name="nameb" value="李四">
</c:url>

<a href="${url}">链接</a>

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有