kawayi1982
2010-01-28 15:22 阅读 224
已采纳

超链接传中文参数乱码问题

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    shanyuer 山月无涯 2010-01-28 23:01

    ${music.url}${music.title}${music.author}
    超链接最好把参数都URLEncoder.encode()处理一下再做参数,否则一个简单的例子:你的music.url返回的链接里面也是一堆http://aaa/?a=a&b=b,连在一起就变成:/fye/playMusic.jsp?url=http://aaa/?a=a&b=b&&title=,这样就全乱了。
    中文的问题是会因为浏览器的编码设置而影响,所以也尽量不要直接用中文,而用encode后的中文,就不再受页面和浏览器编码设置的影响了。

    一个是中文,一个是超链接地址,这两个做参数放在一个链接里,一定要先encode一下。

    可以在把music对象传递到页面前先处理一下链接和中文:
    music.setUrl(URLEncoder.encode(music.getUrl(),"GB2312")),然后在页面获取。其他参数也是如此。

    还有一个办法就是在页面里自定义fn处理:
    ${myfn:urlencode(music.url)}${myfn:urlencode(music.author)}

    点赞 评论 复制链接分享
  • kjah_1 kjah_1 2010-01-28 15:39

    首先看你生成静态html是不是乱码,再看你网页的编码,服务器URIEncoding编码设置

    点赞 评论 复制链接分享
  • weixin_42355995 weixin_42355995 2010-01-28 15:50

    首先看你服务器的默认编码是什么?比如我用tomcat他的编码为UTF-8,页面编码为GBK,我链接里的汉字全转成UTF-8,就可以的。

    点赞 评论 复制链接分享

相关推荐