怎么解决JSP 乱码
<%@ page language="java" pageEncoding="GBK"%>
页面上有这样的语句。
环境里面也改成GBK了。。
现在是 有些乱有些没有乱。。
select 里面很多都变成??????了
其他的地方 没有乱码
这个问题该如何考虑解决啊?
------解决方案--------------------http://blog.csdn.net/tkd03072010/article/details/6667689
参考一下这个!!!
------解决方案--------------------把整个项目的编码设置都改过来。编码要一致
http://blog.csdn.net/kai27ks/article/details/5906739
------解决方案--------------------看看,希望对你有帮助:http://blog.csdn.net/wula0010/article/details/3942321
------解决方案--------------------你是在jsp页面写java代码吗?
如果是post方式获取
在获取参数前加
request.setCharacterEncoding("GBK");
如果get方式
假如s是你获取的参数
byte[] bs=s.getBytes("ISO-8859-1");
s=new String(bs,"GBK");
------解决方案--------------------其实你用个过滤器对所有页面设置编码就好了
中文 建议不要用get方式传数据
如果一定要 那么java.net.URLEncoder.encode(string,"GBK");
编码后再传
------解决方案--------------------建议使用filter。
Filter如下:
public class EncodingFilter implements Filter {
private String encoding = "/*编码格式*/"; // 使用你自己的编码格式
public void init(FilterConfig fc) throws
ServletException {
String s = fc.getInitParameter( "Encoding ");
if (s != null) {
this.encoding = s;
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain fc) throws
IOException, ServletException {
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
fc.doFilter(request, response);
}
public void destroy() {
}
}
配置:
<filter>
<filter-name> EncodingFilter </filter-name>
<filter-class> /*filter类全名*/</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>
<url-pattern> *.jsp </url-pattern>
</filter-mapping>
------解决方案--------------------如果是post方式获取
在获取参数前加
request.setCharacterEncoding("GBK");
要说get方式获取的话,有时候是会出现乱码的情况,
这不是因为你的代码写错了,可能是容器本身的问题,
比如TOMCAT,所以你的去看看你的配置文件
------解决方案--------------------在后台对你的中文字符做个编码转换
如楼上所说,也有可能是你TOMCAT容器里设置了编码
如果是容器的配置文件设置了编码,那中文就可能会出现乱码