A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴振良 黑马帝   /  2013-5-20 11:35  /  2192 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 戴振良 于 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都是乱码,实在是想不明白其中的原由。

评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 这个有深度啊!!!

查看全部评分

15 个回复

倒序浏览
转换成字节数组时加上编码试试:out.write("你好,中国!".getBytes("UTF-8"));不过要处理异常
回复 使用道具 举报

回帖奖励 +20

没人占楼,先来占一个。其实我也不会,但是我还想说几句:你先看一下你的本地配置是不是gbk,好像浏览器不一样,然后有可能采用的编码方式就不一样。何况你是liunx系统。
回复 使用道具 举报

回帖奖励 +20

其实我也不知道咋回事  不过据说有钱挣{:soso_e113:}
回复 使用道具 举报
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
回复 使用道具 举报
为啥没我的金币
回复 使用道具 举报
Renica 发表于 2013-6-8 16:18
没人占楼,先来占一个。其实我也不会,但是我还想说几句:你先看一下你的本地配置是不是gbk,好像浏览器不一 ...

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

嗯,会的
回复 使用道具 举报

我也不知道他们怎么会有金币得呢
回复 使用道具 举报
你服务器是用Tomcat吗?
回复 使用道具 举报
其实浏览器以什么方式解码,你就用什么方式编码呗!

点评

谢谢!  发表于 2013-6-13 15:09
回复 使用道具 举报
你试一下加一下request..setCharacterEncoding("UTF-8");看看能不能解决!

点评

试过,不管用!  发表于 2013-6-13 15:07
回复 使用道具 举报 1 0
可以考虑用过滤器,可以搞定编码乱码的问题
回复 使用道具 举报
Heart 发表于 2013-6-12 11:10
转换成字节数组时加上编码试试:out.write("你好,中国!".getBytes("UTF-8"));不过要处理异常 ...

OK,这招管用!浏览器就用UTF-8看!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马