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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ThinkPHP模板IF标签用法详解

    ThinkPHP模板IF标签用法详解

    2021年9月18日
    57
  • 大数运算c++

    大数运算c++大数加法stringadd(strings1,strings2){if(s1.length()=0;i–,j–

    2022年10月6日
    3
  • mshta usage

    mshta usagemshtaisshortforMicroSoftHtmlApplication.Itcouldrunhtmlfileorhtmlstringasaparameter.whatisinterestingisyoucanuseitinawindowbatchcommandorbatchfileandyoucanusesome

    2022年7月15日
    25
  • pycharm导包时出现错误怎么解决_pycharm引入模块报错

    pycharm导包时出现错误怎么解决_pycharm引入模块报错pycharm导包错误没有警告

    2025年6月15日
    3
  • 关于OpenProcessToken「建议收藏」

    关于OpenProcessToken「建议收藏」OpenProcessToken  要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessID)还是会遇到“访问拒绝”的错误。什么原因呢?原来在默认的情况下进程的一些访问权限

    2022年6月25日
    23
  • 从零开始学android<android开发环境的搭建.一.>[通俗易懂]

    从零开始学android<android开发环境的搭建.一.>[通俗易懂]我是一名无名学校的和计算机专业有一点关系的大学僧,当然还是比较喜欢计算机   游戏的……平时喜欢编程,喜欢把自己的思路和想法变为现实,爱琢磨,就这样开始学习Java了,然后就不知道怎么地开始看android这块了,当然我也是刚刚开始学习,我会在这里和大家分享我的学习经验和问题。…………………………………………………一点也不华丽得分割线…………………………………………………

    2022年6月21日
    22

发表回复

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

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