在mysql中写入和查询数据的信息时总是乱码,我在网上找了很多遇到相似的问题,还是不能解决,谁能帮我解释一下。谁能帮我写个filter 来解决这个问题?
解决方案 »
- 关于LIST和VECTOR
- 有没有Email的API啊?想实现根据一个登陆的email用户去查找他的所以的联系人!!!
- 我要在线程里建一个循环,要求里面的内容每2小时执行一次,但每次都打不开使用这个类的页面
- Windows系统和SOLARIS部署同样的ear包,读取数据库中的中文问题
- 如何只跳出双重循环的内层循环,而不跳出外层循环?
- 有高手么?为什么在Servlet中读取Request.GetCookies()返回的没有Session Cookie么????
- 请问如何设置Cookie中的value是中文字符
- 请问怎样避免Resin返回原代码?
- 再问关于配置APACHE和TOMCAT,
- Jquery插件ddcombobox使用
- 跪求完整网站项目(SSH)(struts+hibernate+spring)
- 很着急,java报错信息,高手帮帮忙呀
<filter>
<filter-name>EncodingFilter</filter-name>
<display-name>Character Encoding Filter</display-name>
<filter-class>com.linhai.common.action.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
**/import java.io.IOException;
import javax.servlet.*;public class SetCharacterEncodingFilter
implements Filter
{ public SetCharacterEncodingFilter()
{
encoding = null;
filterConfig = null;
} public void destroy()
{
encoding = null;
filterConfig = null;
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String enc = selectEncoding(request);
if(enc != null)
request.setCharacterEncoding(enc);
chain.doFilter(request, response);
} public void init(FilterConfig filterConfig)
throws ServletException
{
this.filterConfig = filterConfig;
encoding = filterConfig.getInitParameter("encoding");
} protected String selectEncoding(ServletRequest request)
{
return encoding;
} protected String encoding;
protected FilterConfig filterConfig;
}
希望对你有所帮助
看下这篇文章吧。
应该对你有帮助。!
我前几天刚刚遇到过
也刚刚见人问过下面是我做的时候遇到这样的问题的笔记
你看看 希望对你有帮助写入和查询数据的信息时总是乱码
显然是在页面提交的时候出现了问题!
因为你写入的数据有问题直接导致读出来的数据有问题
1.在提交页面和处理页面添加如下的代码
<%
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
%>
2.DriverManager.getConnection("jdbc:mysql://localhost:3306/news?useUnicode=true&characterEncoding=GBK","root","");
3.写一个方法,将收集的字符串进行过滤
public String formateString(String string){
String str="";
try {
str+=new String(string.getBytes("gb2312"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
这三步足够解决你的问题啦!