Servlet中文乱码问题

aa1073956837 2015-04-13 12:03:52
servlet显示在网页的代码都会出现中文乱码
比如 out.println("啊啊");也会出现乱码,
但System.out.println("啊啊");不会
查了百度的很多方法都行不通
content-type=‘text/html’;charset=“utf-8”;这个没用
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
这两个写了也没用,确定文件编码格式是utf-8
请问这该怎么解决?
...全文
524 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa1073956837 2015-04-16
  • 打赏
  • 举报
回复
问题解决了,楼上正解
牙牙学语 2015-04-15
  • 打赏
  • 举报
回复
看到一群人瞎逼逼实在受不了了。第一,哪里来的request.setContentType("text/html,charset=utf-8")???表示我孤陋寡闻了。第二,response.setContentType("text/html;charset=utf-8");其实有两个意思,其一是通知浏览器以UTF-8格式读数据,其二是改了response的码表,即相当于response.setCharacterEncoding("UTF-8"),也就是说,有了response.setContentType这句就可以不用写response.setCharacterEncoding("UTF-8")了。第三,凭什么乱改tomcat的配置文件!!!!。最后楼主你把response.setContentType("text/html;charset=utf-8")里面的html后面的分号打成逗号了,问题就是这么简单。。。。 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<!doctype html>"); out.println("<html>"); out.println("<head>"); out.println("<title>啊啊</title>"); out.println("<meta charset=utf-8 />"); out.println("</head>"); out.println("<body>"); out.println("啊啊"); out.println("</body>"); out.println("</html>");
  • 打赏
  • 举报
回复
数据库设置正确吗?
life_at_606 2015-04-14
  • 打赏
  • 举报
回复
4L说的是对的,补充一下,在request对象中就不要重复设置编码格式了,会出错的
北京-飞 2015-04-14
  • 打赏
  • 举报
回复
试试加上一句response.setCharacterEncoding("GB2312");
xgapp 2015-04-14
  • 打赏
  • 举报
回复
主要就是response.setCharacterEncoding("utf-8");这个。还有就是jsp的字符集。jsp中的字符集设置的地方很多。有头部的java语言的设定。还有就是html的设定。都设置成utf-8的再试试
ghb5371548 2015-04-14
  • 打赏
  • 举报
回复
写一个全局Fiter啊
aa1073956837 2015-04-14
  • 打赏
  • 举报
回复
引用 15 楼 qq_27179573 的回复:
数据库设置正确吗?
代码上面有写出来,就输出几个中文,没有联系数据库
microhex 2015-04-13
  • 打赏
  • 举报
回复
你浏览器的字符ji you men ti ma ??
aa1073956837 2015-04-13
  • 打赏
  • 举报
回复
引用 4 楼 xiangnan129 的回复:
打开tomcat的service.xml在里面将字符集配置成utf-8,再就是你的jsp页面是否设置了字符集编码为utf-8,还有就是jsp文件和java文件最好都是utf-8存储格式。
package aaa;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class aaa1 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html,charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("<!doctype html>");
		out.println("<html>");
		out.println("<head>");		
		out.println("<title>啊啊</title>");
		out.println("<meta charset=utf-8 />");	
		out.println("</head>");
		out.println("<body>");		
		out.println("啊啊");
		out.println("</body>");	
		out.println("</html>");	
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);
	}

}
你说的那些都做了,还是乱码
bobo1232 2015-04-13
  • 打赏
  • 举报
回复
response.setContentType("text/html;charset=utf-8");
scott_129 2015-04-13
  • 打赏
  • 举报
回复
打开tomcat的service.xml在里面将字符集配置成utf-8,再就是你的jsp页面是否设置了字符集编码为utf-8,还有就是jsp文件和java文件最好都是utf-8存储格式。
aa1073956837 2015-04-13
  • 打赏
  • 举报
回复
在哪设置??
microhex 2015-04-13
  • 打赏
  • 举报
回复
引用 12 楼 aa1073956837 的回复:
[quote=引用 11 楼 u013762572 的回复:] [quote=引用 9 楼 aa1073956837 的回复:] [quote=引用 7 楼 u013762572 的回复:] 你浏览器的字符ji you men ti ma ??
什么意思?[/quote] 首先,要保证你的编辑器的字符为UTF-8的,如果是GBK的,你在浏览器中看的也是乱码。如果是UTF-8的,那么在浏览器上以UTF-8显示的 就不会错了。。。[/quote] 我是用myeclipse编辑的,文件的编码格式确定是UTF-8,浏览器显示的编码格式也是UTF-8[/quote] 奇个怪了啊,发给企鹅294097370,我看一下。。。。
blueprint1988 2015-04-13
  • 打赏
  • 举报
回复
你需要设置servlet中字符集和显示页面的字符集,看看是否匹配
colin0242 2015-04-13
  • 打赏
  • 举报
回复
服务器编码格式是否有设置成utf-8?比如tomcat服务器,在配置文件server.xml设置URIEncoding="UTF-8"。可以浏览器查看下编码是不是utf-8?
再见理想123 2015-04-13
  • 打赏
  • 举报
回复
jsp中设定字符集了吗
aa1073956837 2015-04-13
  • 打赏
  • 举报
回复
引用 11 楼 u013762572 的回复:
[quote=引用 9 楼 aa1073956837 的回复:] [quote=引用 7 楼 u013762572 的回复:] 你浏览器的字符ji you men ti ma ??
什么意思?[/quote] 首先,要保证你的编辑器的字符为UTF-8的,如果是GBK的,你在浏览器中看的也是乱码。如果是UTF-8的,那么在浏览器上以UTF-8显示的 就不会错了。。。[/quote] 我是用myeclipse编辑的,文件的编码格式确定是UTF-8,浏览器显示的编码格式也是UTF-8
microhex 2015-04-13
  • 打赏
  • 举报
回复
引用 9 楼 aa1073956837 的回复:
[quote=引用 7 楼 u013762572 的回复:] 你浏览器的字符ji you men ti ma ??
什么意思?[/quote] 首先,要保证你的编辑器的字符为UTF-8的,如果是GBK的,你在浏览器中看的也是乱码。如果是UTF-8的,那么在浏览器上以UTF-8显示的 就不会错了。。。
aa1073956837 2015-04-13
  • 打赏
  • 举报
回复
引用 8 楼 airfling 的回复:
request.setContentType("text/html,charset=utf-8");这个也要加上
request并没有这方法
加载更多回复(2)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧