问题描述
- 运行的时候,页面中出现乱码
-
我在jsp中设置了编码utf-8,为什么运行的时候还是会有乱码出现,这是怎么回事???
解决方案
1、tomcat设置编码
2、数据库编码
解决方案二:
ColdFusion中文系统,运行页面竟然出现乱码
解决方案三:
1.数据库连接的url要设置如
jdbc:mysql://localhost:3306/数据库名?characterEncoding=UTF-8
2.jsp页面要设置页面
pageEncoding="UTF-8"
3.
<meta charset="UTF-8">
4.servlet里面也要设置UTF-8,
request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
5.tomcat也要设置UTF-8
6.完成以上方法还乱码,可以用 <%=new String("字符串".getBytes("ISO-8859-1"),"UTF-8")%>
解决方案四:
你发过来的数据是utf-8,但是服务器不认识,设置请求编码如下
在获取参数之前调用request.setCharacterEncoding("utf-8");
如果你还想在页面上显示
response.setContentTpye("text/html;charset=utf-8);
再响应输出即可
解决方案五:
设置文件编码方式~~
解决方案六:
设置了编码utf-8 跟你的项目编码是否一样
解决方案七:
request.get取数据之前行设置request.setChar....("UTF-8"0
resposn返回之前先设置response.setchar..("UTF-8")
解决方案八:
同上。 你dubug看下,从页面接收过来的数据是不是乱码的。
解决方案九:
可以设置一个编码过滤器
解决方案十:
1.如果是servlet,加个过滤器
public class CharacterEncodingFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
response.setCharacterEncoding("UTF-8");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
web.xml配置:
<filter>
CharacterEncodingFilter
CharacterEncodingFilter
com.bdqn.mychat.filter.CharacterEncodingFilter
CharacterEncodingFilter
/*
2.如果还有其他原因,比如说数据库编码问题,改数据库的配置文件。
3.如果实现看那乱码不爽,直接new String 编码转换,这样也行,就是效率低了,每次都要自己转。