kawayi1982 2010-01-28 15:22
浏览 274
已采纳

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

  • 写回答

3条回答 默认 最新

  • 山月无涯 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)}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符