<a href="news/482家公司出现汇兑损失中石油损失最大_财经_腾讯网.htm" target="_blank">482家公司出现汇兑损失中石油损失最大_财经_腾讯网.htm</a>这是一个带中文的链接,我的tomcat的server.xml中URIEncoding="GBK",页面也是用GBK,过滤器也是用GBK。
但是这样链接会出现百分号的URL没有编码的问题:
HTTP Status 404 - /News/news/482%E5%AE%B6%E5%85%AC%E5%8F%B8%E5%87%BA%E7%8E%B0%E6%B1%87%E5%85%91%E6%8D%9F%E5%A4%B1%E4%B8%AD%E7%9F%B3%E6%B2%B9%E6%8D%9F%E5%A4%B1%E6%9C%80%E5%A4%A7_%E8%B4%A2%E7%BB%8F_%E8%85%BE%E8%AE%AF%E7%BD%91.htm而当我修改server.xml中的URIEncoding="UTF-8"时,一切又正常了。可是之前一直都是用GBK。
请问:有什么办法在不修改URIEncoding的情况下让访问中文名的htm正常?!
但是这样链接会出现百分号的URL没有编码的问题:
HTTP Status 404 - /News/news/482%E5%AE%B6%E5%85%AC%E5%8F%B8%E5%87%BA%E7%8E%B0%E6%B1%87%E5%85%91%E6%8D%9F%E5%A4%B1%E4%B8%AD%E7%9F%B3%E6%B2%B9%E6%8D%9F%E5%A4%B1%E6%9C%80%E5%A4%A7_%E8%B4%A2%E7%BB%8F_%E8%85%BE%E8%AE%AF%E7%BD%91.htm而当我修改server.xml中的URIEncoding="UTF-8"时,一切又正常了。可是之前一直都是用GBK。
请问:有什么办法在不修改URIEncoding的情况下让访问中文名的htm正常?!
你这样试试! 不过不保证正确! 一般情况下还是少使用!
容器的编码 一般 都是不用作设置的。
也希望高手指点下~
<%=new String("482家公司出现汇兑损失中石油损失最大_财经_腾讯网.htm".getBytes("GBK"),"iso-8859-1")%>
这个我试了,会乱码。
先转码 URLEncoder.encode(str, "GBK");
在接受值 再转码 String dd=new String(str.getBytes("GBK"),"iso-8859-1"))
<%=new String("482家公司出现汇兑损失中石油损失最大_财经_腾讯网.htm".getBytes("GBK"),"utf-8")%>
因为地址栏里面是iso-8859-1的编码,所以就算你在地址栏输入了中文,他还是会变成编码的!
<a href="docs/实验室项目列表.htm">
很ok的