汉字就都成乱码了,不知道他动了什么,而且在SQL Server环境下看都好着呢。我用的IDE是NetBeans数据库是SQL Server,这怎么解决呢?
14 个解决方案
#1
学习===
#2
首先保证数据库中编码格式是不是utf-8或者gb2312其次看看页面接收的时候是不是这种格式,还有在request或者response接收和返回请求的时候也要这样的格式,最后还是不行的话,那就要每个字符来转码了,这个网上有很多中,楼主可以看看
#3
楼上正解
#4
那SQL Server中的编码格式怎么查看呢?我的是request.setCharacterEnCoding("GBK"),我在控制台下接收的时候也是乱码。
#5
数据库的编码一定要确定了,然后页面和后台编码直接写个过滤器~~~~~~~~~~~
#6
从数据库拉出来的汉字到页面成乱码很正常,因为你没在jsp页面转码,那就不是jsp前面的原因(gbk),你还要在<%(这里获取数据库的值,然后转码,若传给下个页面,那下个页面也要转)%>
#7
顶楼上的!
#8
不是吧,我建了个控制台程序,从其中拉出来的汉字也是乱码。
#9
最好写个过滤器
#10
--输出中文乱码
response.setContentType("text/html;charset=GBK")或 response.setContentType("text/html;charset=gb2312")解决。
--请求中文乱码
request.setCharacterEncoding("GBK")或
request.setCharacterEncoding("gb2312")。
--过滤器
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset=GBK");
chain.doFilter(request, response);
}
response.setContentType("text/html;charset=GBK")或 response.setContentType("text/html;charset=gb2312")解决。
--请求中文乱码
request.setCharacterEncoding("GBK")或
request.setCharacterEncoding("gb2312")。
--过滤器
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset=GBK");
chain.doFilter(request, response);
}
#11
过滤代码是在页面中,还是在其他的类中,如果在类中,要导入什么呢?
#12
在web.xml中加入配置即可。
#13
你在数据库底层中就使用setCharacterEncoding("GBK")把 不行的话 就再写个过滤器
#14
这个过滤器放在什么地方,是在其他的类中还是在页面中,如果在其他的类中,然后再在页面调用doFilter(doFilter(ServletRequest request, ServletResponse response, FilterChain chain)的话,最后的那个FilterChain参数从哪得到?
还有个问题,我的笔记本是借给别人后,她也不懂电脑,说是从工具栏里设置了一下,现在我系统里很多地方都变成了法语,从那之后我从数据库中提取汉字就变成乱码了。
#1
学习===
#2
首先保证数据库中编码格式是不是utf-8或者gb2312其次看看页面接收的时候是不是这种格式,还有在request或者response接收和返回请求的时候也要这样的格式,最后还是不行的话,那就要每个字符来转码了,这个网上有很多中,楼主可以看看
#3
楼上正解
#4
那SQL Server中的编码格式怎么查看呢?我的是request.setCharacterEnCoding("GBK"),我在控制台下接收的时候也是乱码。
#5
数据库的编码一定要确定了,然后页面和后台编码直接写个过滤器~~~~~~~~~~~
#6
从数据库拉出来的汉字到页面成乱码很正常,因为你没在jsp页面转码,那就不是jsp前面的原因(gbk),你还要在<%(这里获取数据库的值,然后转码,若传给下个页面,那下个页面也要转)%>
#7
顶楼上的!
#8
不是吧,我建了个控制台程序,从其中拉出来的汉字也是乱码。
#9
最好写个过滤器
#10
--输出中文乱码
response.setContentType("text/html;charset=GBK")或 response.setContentType("text/html;charset=gb2312")解决。
--请求中文乱码
request.setCharacterEncoding("GBK")或
request.setCharacterEncoding("gb2312")。
--过滤器
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset=GBK");
chain.doFilter(request, response);
}
response.setContentType("text/html;charset=GBK")或 response.setContentType("text/html;charset=gb2312")解决。
--请求中文乱码
request.setCharacterEncoding("GBK")或
request.setCharacterEncoding("gb2312")。
--过滤器
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset=GBK");
chain.doFilter(request, response);
}
#11
过滤代码是在页面中,还是在其他的类中,如果在类中,要导入什么呢?
#12
在web.xml中加入配置即可。
#13
你在数据库底层中就使用setCharacterEncoding("GBK")把 不行的话 就再写个过滤器
#14
这个过滤器放在什么地方,是在其他的类中还是在页面中,如果在其他的类中,然后再在页面调用doFilter(doFilter(ServletRequest request, ServletResponse response, FilterChain chain)的话,最后的那个FilterChain参数从哪得到?
还有个问题,我的笔记本是借给别人后,她也不懂电脑,说是从工具栏里设置了一下,现在我系统里很多地方都变成了法语,从那之后我从数据库中提取汉字就变成乱码了。