我在jsp页面中将输入的用户名的密码提交到servlet中,提交时用户名输入的是中文,这是我获得参数的代码
String userName=request.getParameter("userName");
我用userName=new String(userName.getBytes("gb2312"),"UTF-8")来设置编码,但为什么还会出现乱码
String userName=request.getParameter("userName");
我用userName=new String(userName.getBytes("gb2312"),"UTF-8")来设置编码,但为什么还会出现乱码
解决方案 »
- 求高手指点!!
- 关于ehcache的排序问题
- 请教一个项目开发的具体问题
- 急求JAVA编程思想第4版的习题答案
- 关于struts的资源国际标准化的中文问题
- 用EJB的findbyXXX返回一个COLLECTION,怎样把这个 collection 显示在combobox里阿?
- [100]在oralcle application server10g中deploy CMP ejb成功,但在用java client调用时老是报如下错误:
- 为什么部署了却不能lookup到?
- SSH集成时使用OpenSessionInViewFilter出错
- 请教怎么给从servlet获取的表格数据写一个模态框来修改表格信息并且可以提交给servlet
- 各位大哥,问一个简单的问题
- 寻找JAVA视频会议系统开发
你看一下对你有没有用:
1.在页面设置编码方式:UTF-8
2.写一个字符编码过滤器,过滤器中写下如下代码即可://将对象转换为HTTP
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;
//设置字符编码属性
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
3.在tomcat设置端口号的地方的后面 写下如下代码:
URIEncoding=“UTF-8”
4.在传参数之前,先将字符转码:
URLEncoder.encode("要传递的参数","UTF-8");
5.先将字符转换成进制码 然后要用的时候在转换回来
楼主可试试iso -》 gb
或iso -》 utf
request.seCharacterEncoding("gb2312");
%>
http://topic.csdn.net/u/20091010/11/d03d91a2-1f77-4895-9873-89caf7bbb6c0.html
(注意贴中第1楼的代码)。将项目所有编码都统一到utf-8,包括html编码声明、存储的物理文件编码(这个很重要,设置Eclipse、Dreamweaver这编辑器的编码格式为utf-8)、web.xml编码过滤器,然后配上重写request来处理get方式接收的汉字,一般就很少再出现编码乱的问题。
把所有的字符编码设置成相同的编码(JSP、过滤器、IDE中相应文件的编码、服务器的URIEncode,建议用utf-8)否则的话,手动转来转去很容易乱套。
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class SetCharacterEncodingFilter implements Filter {private String encoding;
private FilterConfig filterConfig = null;public void destroy() {
this.encoding = null;
this.filterConfig = null;}public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(this.encoding);
chain.doFilter(request, response);
}public void init(FilterConfig filterConfig) throws ServletException {
this.encoding = filterConfig.getInitParameter("encoding");
}
--------------------------------------------------------------------------------配置文件web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.first.struts.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter><filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>