在JSP页面里设置编码也为utf-8。
解决方案 »
- 中英网站之间如何切换
- jboss jndi.properties 配置问题
- 求助:EXT.Ajax.Rquest()缓存问题
- 迷茫:我该走哪条路?
- xmlbeans打包的问题,好急啊!
- (大家各抒己见)Cannot find ActionMappings or ActionFormBeans collection问题
- servlet的问题
- 求助,这是什么意思呀Collection)request.getAttribute("empjobs");
- Hibernate in Spring 错误
- 请教一个多对多关系使用的问题
- 在Action中输出JS提示对话框
- server2000修改了表,系统就出现异常,急!!!!
那真是奇怪了啊
你加个过滤器,不要在server.xml里设置了
应该就没问题了
这些都是编码的原理造成的,有空你可以看看utf-8是怎样存储字符的,就会明白了。
现在说说我得解决方法:
1、如果是post传值,那就在servlet中设置request.setCharacterEncoding("utf-8"); 这样传过来的汉字就会正常了。
2、如果是get传值,建议用js先收集信息,然后将汉字部分用encodeURIComponent(str)进行转码(这个函数是js自带的,可以直接使用),转码后连接到地址的后面进行传递,然后再接收端用
str=new String(str.getBytes("iso-8859-1"),"utf-8");对接受的字符串进行转码就可以了。当然,前面的字符集要以你的实际编码为准。这是我得一点点经验,希望对你有所帮助,祝你好运!^_^
post用个过滤器来转
第一步:设置jsp的编码方式为:utf-8第二步:在javasctipt中<script> function fun(){ var k= encodeURIComponent("李四"); location.href="/HemoCrm/rich.do?name="+k; }</script>第三步:在对应的servlet或action中String name=URLDecoder.decode(request.getParameter("name"),"UTF-8");