jsp url传值乱码问题。。

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:19:00
页面都设置成UTF-8了

我用表单提交到后台,取值正确。。从后台再取出来,也正确。。

但是用URL再传到后台的时候,就乱了。。如何处理?

URL不能用来传递中文,和编码方式无关, 除非你可以对URL传递的内容进行加密或者转换.

你在给我的留言里说, 你是要坐分页, 传递条件吧, 其实分页也可以用表单做, 声明一个表单, 里面的查询条件属性不用说了, 但是得多一个隐藏域, 保存pageNum, 然后页号的超链接链接到一段JavaScript代码上, 让它给pageNum复制, 并且提交表单到查询所有的servlet 或Action 中去, 就可以了,
不知道你什么时候上线, 留段代码看看对你有没有帮助:

...
<script>
function jumpPage(pageNum) {
var myform = document.getElementById('myForm');
myform.pageNum.value = pageNum;
myForm.submit();
}
</script>
...
<form action="分页的action或servlet" id="myForm">
...
<input type="hidden" name="pageNum" />
...其他查询条件
</form>
...
<a href="jumpPage(1)">1</a>][2]<a href="jumpPage(3)">3</a>
...

传值都自动变成ISO型的,需要改一下。
String name = new String(request.getParameter("name").getBytes("ISO8859-1"), "utf-8"));

后台也要设置成支持中文编码方式!如果是servlet