java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园

java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园服务器发送一条数据如:Java代码BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));PrintWriterout=newPrintWriter(client.getOutputStream());out.println(“没有查到该数据。”);//向客户端发送out….

大家好,又见面了,我是你们的朋友全栈君。

服务器发送一条数据如:

Java代码

BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

PrintWriter out = new PrintWriter(client.getOutputStream());

out.println(“没有查到该数据。”);//向客户端发送

out.flush();

BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

PrintWriter out = new PrintWriter(client.getOutputStream());

out.println(“没有查到该数据。”);//向客户端发送

out.flush();

然后客户端接收:

Java代码

public BufferedReader recieve(){

//从服务端程序接收数据

InputStreamReader isr=null;

BufferedReader br=null;

try {

isr = new InputStreamReader(server.getInputStream());//这里需要GBK

br = new BufferedReader(isr);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return br;

}

///

BufferedReader br=recieve();

while((message = br.readLine()) != null){

messages+=message;

}

System.out.println(“messages=”+messages);

public BufferedReader recieve(){

//从服务端程序接收数据

InputStreamReader isr=null;

BufferedReader br=null;

try {

isr = new InputStreamReader(server.getInputStream());//这里需要GBK

br = new BufferedReader(isr);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return br;

}

///

BufferedReader br=recieve();

while((message = br.readLine()) != null){

messages+=message;

}

System.out.println(“messages=”+messages);

你会发现这样写会是乱码;

应该写成isr = new InputStreamReader(server.getInputStream(),”GBK”);

这样就正常显示了。

在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156368.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 1602驱动电路_lcd1602的a和k接哪里

    1602驱动电路_lcd1602的a和k接哪里       今天我也开博了,一个前辈的话对我触动很大:不会分享,不懂总结,就不要做技术。这也是我这博客的目的,望各路过高手菜鸟多多指教。          搞了几天的1062a终于调通了。前段时间把8位总线的调通了,这个简单,网上资料也多。以前写程序一般都是网上找资料后自已再改,这次1062a四位驱动的程序网上也有,我下了好多版本结果都不行,就这样我也堵在这几天了。这说明我的底层程序

    2022年9月22日
  • 火狐浏览器删除表单自动提示登陆账号密码

    火狐浏览器删除表单自动提示登陆账号密码

    2021年11月5日
  • 网站技术分析工具:Wappalyzer

    网站技术分析工具:Wappalyzer经常有人会问,这个网站使用什么技术搭建的?AngularJS?Django?Jquery?还是什么呢?如果遇到这样的问题,建议你装一个这样的插件:Wappalyzer https://wappalyzer.com/比如CSDN:比如worktile:…

    2022年5月4日
  • 面试题 HashMap 数据结构 实现原理

    面试题 HashMap 数据结构 实现原理数据结构HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组:数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那

    2022年5月12日
  • sql数据库回滚操作_sql回滚语句 rollback

    sql数据库回滚操作_sql回滚语句 rollbackcreatetable testtable(idnvchart(50)primkey,namenvchart(50),remarknvchart(50))select*fromtesttable go BEGINTRY –SQLServer需要显示的定义开始一个事务.BEGINTRANSACTION;–插入2条同样的数据

    2022年8月30日
  • 自己实现directui库_开源界面库

    自己实现directui库_开源界面库1.duilib简介duilib是一个开源的DirectUI界面库,简洁但是功能强大。而且还是BSD的license,所以即便是在商业上,大家也可以安心使用。现在大家可以从这个网站获取到他们所有的

    2022年8月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号