黑马程序员技术交流社区

标题: 关于Servlet的输出编码问题 [打印本页]

作者: 戴振良    时间: 2013-5-20 11:35
标题: 关于Servlet的输出编码问题
本帖最后由 戴振良 于 2013-6-13 15:10 编辑

我项目的编码用的是:UTF-8,Servlet的代码如下:
  1.         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2.                 OutputStream out = response.getOutputStream();
  3.                 out.write("你好,中国!".getBytes());
  4.                 out.flush();
  5.                 out.close();
  6.         }
复制代码
在本地运行时,ie使用gbk查看正常,把代码上传到lunix服务器,访问服器上的得用utf-8来访问才能正确显示中文。这是为什么呢?
还有我试过在第一行加入:response.setCharacterEncoding("UTF-8");  结果在本地访问还是得用gbk,在服务器还是得用utf-8访问。后来过了几天,访问服务器的这个Servlet不管是用gbk和utf-8都是乱码,实在是想不明白其中的原由。

作者: Renica    时间: 2013-6-8 16:18
没人占楼,先来占一个。其实我也不会,但是我还想说几句:你先看一下你的本地配置是不是gbk,好像浏览器不一样,然后有可能采用的编码方式就不一样。何况你是liunx系统。
作者: 刘凯    时间: 2013-6-8 16:28
其实我也不知道咋回事  不过据说有钱挣{:soso_e113:}
作者: 袁梦希    时间: 2013-6-9 14:58
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
作者: 袁梦希    时间: 2013-6-9 14:58
为啥没我的金币
作者: 戴振良    时间: 2013-6-9 19:58
Renica 发表于 2013-6-8 16:18
没人占楼,先来占一个。其实我也不会,但是我还想说几句:你先看一下你的本地配置是不是gbk,好像浏览器不一 ...

本地配置是舍呀,我学的JavaWeb都忘了:dizzy:
Eclipse中的JavaWeb项目,右击项目可以设置项目的编码。
浏览器访问url,在浏览器上可以设置显示网页的编码。
”本地配置“具体是哪个东西?{:3_62:}
作者: 戴振良    时间: 2013-6-9 19:59
袁梦希 发表于 2013-6-9 14:58
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。 ...

嗯,会的
作者: 戴振良    时间: 2013-6-9 20:00
袁梦希 发表于 2013-6-9 14:58
为啥没我的金币

我也不知道他们怎么会有金币得呢
作者: 王松松    时间: 2013-6-9 20:26
你服务器是用Tomcat吗?
作者: 王松松    时间: 2013-6-9 20:30
其实浏览器以什么方式解码,你就用什么方式编码呗!
作者: 杨增坤    时间: 2013-6-10 23:20
你试一下加一下request..setCharacterEncoding("UTF-8");看看能不能解决!
作者: Heart    时间: 2013-6-12 11:10
转换成字节数组时加上编码试试:out.write("你好,中国!".getBytes("UTF-8"));不过要处理异常
作者: pys200603027    时间: 2013-6-12 12:39
可以考虑用过滤器,可以搞定编码乱码的问题
作者: 戴振良    时间: 2013-6-13 15:08
Heart 发表于 2013-6-12 11:10
转换成字节数组时加上编码试试:out.write("你好,中国!".getBytes("UTF-8"));不过要处理异常 ...

OK,这招管用!浏览器就用UTF-8看!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2