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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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. }
复制代码


9 个回复

倒序浏览
客户端呢?贴出来看看
回复 使用道具 举报
大菠萝 发表于 2015-5-13 03:14
客户端呢?贴出来看看

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

我转过码了,你看下我的代码
回复 使用道具 举报
只想好好的 发表于 2015-5-13 11:46
我转过码了,你看下我的代码

两个方案,服务器端不转成gbk,装成utf8,看一下是不是好了,另一个方案是在前端页面上指定gbk编码
回复 使用道具 举报
iamnoten 发表于 2015-5-13 15:15
两个方案,服务器端不转成gbk,装成utf8,看一下是不是好了,另一个方案是在前端页面上指定gbk编码 ...

都不行,我服务端默认的是UTF-8,  前端页面默认使用的是GBK,
而现在我在服务端将传回给客户端的转码成了 gbk,还是乱码
回复 使用道具 举报
如果myeclipse上默认使用的编码是gbk,那就是没有问题的,我的默认是使用utf-8的,所以才有问题,但是想知道为什么我转码后不行?
回复 使用道具 举报
我有时候也遇到这个问题!同问!
回复 使用道具 举报
浏览器的编码转换一下试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马