日期:2014-05-18  浏览次数:20632 次

遇到的中文问题
在jsp页面表单传过来的中文是乱码
处理一下:
String   title=request.getParameter( "title ");
title=new   String(title.getBytes( "ISO-8859-1 "), "gb2312 ");
System.out.print(title);
输出正常,写入数据库后,取出还是乱码,又处理了一下


title=new   String(title.getBytes( "ISO-8859-1 "), "gb2312 ");
System.out.print(title);
输出依然是乱码,我该怎么办?

------解决方案--------------------
1、接收表單傳數時需轉換編碼
String title=request.getParameter( "title ");
title=new String(title.getBytes( "ISO8859-1 "), "gb2312 ");
System.out.print(title);
2、從數據庫讀取時不需要轉換編碼,直接讀出顯示即可
------解决方案--------------------
创建数据库的时候加上 -E EUC_CN
或者在之后进数据库更改\encoding euc-cn
------解决方案--------------------
用过滤器试试!
------解决方案--------------------
我修改文件名时,第一次改中文可以,但第二次就不行了,还有就是列举文件时中文是乱码,为什么啊?
------解决方案--------------------
首先修改一下你的JSP页面
<%page language= "java " import= "java.util.* " contentType= "text/html;charset=GBK "% > 

<%
request.setCharacterEncoding( "GBK ");
response.setContentType( "text/html;charset=GBK ");
% >

String title= new String(((String)request.getParameter( "title")).getBytes("ISO8859-1"),"GBK");

这要是再不好使,就试试用过滤器吧 ! 

第一步:写个fiter类SetCharacterEncodingFilter.java

Java code

package com.niexiong.fiter; import java.io.IOException; import javax.servlet.Filter; 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 { protected String encoding = "GB2312"; protected FilterConfig filterConfig = null; protected boolean ignore = true; public void destroy() { this.encoding = null; this.filterConfig = null; } public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { if (!ignore) { String encoding = selectEncoding(request); request.setCharacterEncoding(encoding); } chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); String value = filterConfig.getInitParameter("ignore"); if (value == null) this.ignore = true; else if (value.equalsIgnoreCase("true")) this.ignore = true; else if (value.equalsIgnoreCase("yes")) this.ignore = true; else this.ignore = false; } protected String selectEncoding(ServletRequest request) { return (this.encoding); } }


第二步:web.xml中添加

XML code

<filter> <filter-name>SetCharacterEncoding</filter-name> <filter-class>com.niexiong.fiter.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> <init-param> <param-name>ignore</param-name> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncoding</filter-name> <ur