get 方式提交乱码

passhk 2009-05-28 08:52:12
get 方式提交乱码
...全文
238 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
rootwang 2009-06-08
  • 打赏
  • 举报
回复
个人感觉和编码没有关系,字数只要超过5个字,它就会出现这种错误,太奇怪了
rootwang 2009-06-08
  • 打赏
  • 举报
回复
我是写在window.open里面的
rootwang 2009-06-08
  • 打赏
  • 举报
回复
我也用的是7楼的方法,用GET方法传了2个值,但第一个乱码始终会有乱码。
比如:?name=<%=name %>&pas=pas (name是个中文,比如欧美连续剧)
传过去name的值是 “欧美连续�?pas=”
请问为什么
shiyangIgo 2009-05-29
  • 打赏
  • 举报
回复
如果提交的数据有中文字符,表单必须用post提交,或者在servlet中 得到数据之前进行字符串处理。具体看11楼。
sahala3293 2009-05-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wangdawei722 的回复:]
request不是有set编码的方法吗??
你可以用一下看看
[/Quote]
tomcat下 request不是有set编码的方法吗?? 好像只在post下才有用
fangpengyu 2009-05-29
  • 打赏
  • 举报
回复
学习
xpl7918487 2009-05-29
  • 打赏
  • 举报
回复

public class Filter extends HttpServlet implements javax.servlet.Filter {

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("UTF-8");
arg1.setCharacterEncoding("UTF-8");
arg2.doFilter(arg0, arg1);

}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

/**
* Constructor of the object.
*/
public Filter() {
super();
}

}

配置文件
<filter>
<description>
This is the description of my J2EE component
</description>
<display-name>
This is the display name of my J2EE component
</display-name>
<filter-name>Filter</filter-name>
<filter-class>com.crm.until.Filter</filter-class>
</filter>


<filter-mapping>
<filter-name>Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
xpl7918487 2009-05-29
  • 打赏
  • 举报
回复
过滤器嘛·
处理你整个项目的乱码
min123456520 2009-05-29
  • 打赏
  • 举报
回复
利用过滤器处理字符编码
asdfa23rdadsdfa 2009-05-28
  • 打赏
  • 举报
回复
项目添加个过滤器(Filter)
蝈蝈老师 2009-05-28
  • 打赏
  • 举报
回复
解决get乱码最直接有效的方法是: 在server.xml中配置编码方式,省得每次提交都要使用类似下面的语句来转码
String paramStr=request.getParament("name");
paramStr=new String(paramStr.getBytes("iso-8859-1"), "GBK");

考虑如下修改配置文件:添加红色部分
=============================================
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
wcwtitxu 2009-05-28
  • 打赏
  • 举报
回复
GET 方式提交


要么 new String(value.getBytes("iso-8859-1"), ...);

要么改服务器配置


似乎别无它选了
qiheia 2009-05-28
  • 打赏
  • 举报
回复

String paramStr=request.getParament("name");
paramStr=new String(paramStr.getBytes("iso-8859-1"), "GBK");

lgq_0714 2009-05-28
  • 打赏
  • 举报
回复
把request和response的编码都设为UTF-8
wangdawei722 2009-05-28
  • 打赏
  • 举报
回复
request不是有set编码的方法吗??
你可以用一下看看
lababawan 2009-05-28
  • 打赏
  • 举报
回复
改成UTF-8
  • 打赏
  • 举报
回复
[Quote=引用楼主 passhk 的帖子:]
get 方式提交乱码
[/Quote]
楼主把你的代码贴出来看看
出现这个问题是在显示数据时出现乱码
还是获取的数据出现乱码
临远 2009-05-28
  • 打赏
  • 举报
回复
可以参考我们jsp教程中对jsp乱码的讨论:

http://family168.com/tutorial/jsp/html/jsp-ch-02.html#jsp-ch-02-02
xingyanfang 2009-05-28
  • 打赏
  • 举报
回复
支持楼上的
java_coding 2009-05-28
  • 打赏
  • 举报
回复
String paramStr=request.getParament("name");
paramStr=new String(value.getBytes("iso-8859-1"), "GBK");

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧