黑马程序员技术交流社区

标题: 自己做一个服务端,反馈信息给浏览器客户端时出现乱码 [打印本页]

作者: 只想好好的    时间: 2015-5-13 00:56
标题: 自己做一个服务端,反馈信息给浏览器客户端时出现乱码
myeclipse用的是UTF-8,可是浏览器用的是GBK,我这里将他们转码了为什么还不可以,求教
客户端出现乱码 如下:
hello world!
濞嗐垼绻嬮崗澶夊閿涳拷
  1. package cxw.study.net.ie_server;

  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.io.PrintWriter;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;

  7. public class MyTomcat {
  8.         public static void main(String[] args) throws IOException {
  9.                 ServerSocket ss = new ServerSocket(9090);
  10.                 Socket s = ss.accept();
  11.                 System.out.println(s.getInetAddress().getHostAddress() + "...connection");
  12.                 InputStream in = s.getInputStream();
  13.                 byte[] buf = new byte[1024];
  14.                 int len = in.read(buf);
  15.                 String text = new String(buf, 0, len);
  16.                 System.out.println(text);
  17.                 // 给客户端一个反馈信息
  18.                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  19.                 byte[] b = "欢迎光临!".getBytes();
  20.                 out.println("hello world!");
  21.                 out.println(new String(b,"GBK"));
  22.                 s.close();
  23.                 ss.close();
  24.         }
  25. }
复制代码



作者: 大菠萝    时间: 2015-5-13 03:14
客户端呢?贴出来看看
作者: 只想好好的    时间: 2015-5-13 09:40
大菠萝 发表于 2015-5-13 03:14
客户端呢?贴出来看看

客户端就是浏览器,这是很简单的服务端程序,在浏览器器上输入        本机ip:9090  就可以看到服务端发送客户端的数据, “欢迎光临!”,可是结果是乱码的
作者: iamnoten    时间: 2015-5-13 09:56
应该是编码问题,转下码就好了
作者: 只想好好的    时间: 2015-5-13 11:46
iamnoten 发表于 2015-5-13 09:56
应该是编码问题,转下码就好了

我转过码了,你看下我的代码
作者: iamnoten    时间: 2015-5-13 15:15
只想好好的 发表于 2015-5-13 11:46
我转过码了,你看下我的代码

两个方案,服务器端不转成gbk,装成utf8,看一下是不是好了,另一个方案是在前端页面上指定gbk编码
作者: 只想好好的    时间: 2015-5-13 16:19
iamnoten 发表于 2015-5-13 15:15
两个方案,服务器端不转成gbk,装成utf8,看一下是不是好了,另一个方案是在前端页面上指定gbk编码 ...

都不行,我服务端默认的是UTF-8,  前端页面默认使用的是GBK,
而现在我在服务端将传回给客户端的转码成了 gbk,还是乱码
作者: 只想好好的    时间: 2015-5-13 21:42
如果myeclipse上默认使用的编码是gbk,那就是没有问题的,我的默认是使用utf-8的,所以才有问题,但是想知道为什么我转码后不行?
作者: 喜水禾    时间: 2015-5-14 08:19
我有时候也遇到这个问题!同问!
作者: KingWorld    时间: 2015-5-14 08:24
浏览器的编码转换一下试试




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