服务器发送一条数据如:
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
out.println("没有查到该数据。");//向客户端发送
out.flush();
然后客户端接收:
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编码
分享到:
相关推荐
总结起来,解决Java Socket与C#通信中中文乱码问题的关键在于: 1. **客户端**:确保使用`getBytes("UTF-8")`将字符串编码为UTF-8字节数组,然后通过Socket发送。 2. **服务器端**:在接收到数据后,使用`Encoding....
Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C++在Windows XP环境下可能使用GBK编码。解决这个问题的关键在于确保数据在传输过程中保持正确的...
通过以上策略,我们可以有效避免Java Socket在传输汉字时出现的乱码问题,保证网络数据交换的准确性和完整性。在实际开发中,要养成良好的编码习惯,始终关注字符编码的选择,确保程序的跨平台性和兼容性。
在本项目"java-SWT-socket.zip"中,我们探讨的是如何使用SWT来实现Socket通信,这是一项在网络编程中至关重要的技术。 Socket通信是基于TCP/IP协议的,允许两个网络连接的端点进行双向通信。在Java中,我们可以使用...
本文将深入探讨如何使用XMLSocket在Flash与Java之间进行高效、稳定的数据交换,并且特别关注如何解决在通信过程中可能出现的中文乱码问题。 首先,XMLSocket是Flash中的一个类,它提供了基于TCP/IP的双向通信功能,...
本文将详细探讨如何使用Java开发这样的客户端,并解决在处理中文字符时可能出现的乱码问题。 首先,让我们了解Java中的Socket编程。在Java中,`java.net.Socket`类提供了TCP/IP套接字功能,可以用于建立客户端到...
### JAVA-OCR图文识别解决方案分析 #### 方案一:个人申请 **优点:** - **识别准确率高:**此方案提供了高度精确的文字识别能力,适用于对准确性有较高要求的应用场景。 - **处理速度快:**相比其他方案,该方案...
Java基础中的Socket编程涉及到网络通信的基本操作,包括创建ServerSocket监听客户端连接,Socket与服务器建立连接,以及数据的发送和接收。在这个问题中,主要涉及两个常见问题:控制台无数据显示和中文乱码。 1. *...
Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景。Socket是计算机网络中的一个通信协议,它允许不同操作系统上的应用程序之间建立连接并交换数据。在这个场景中,Java作为客户端,C++作为服务端,两者...
在Java编程中,Socket通信是网络应用程序之间进行双向通信的基础。Socket API提供了低级别的网络通信接口,使得开发者能够创建客户端和服务器之间的连接。本话题主要关注如何使用Java Socket实现数据的收发,并在...
本文将深入探讨Java如何解决通信过程中的中文乱码问题,并提供多种解决方案。 1. **网页中输出中文** Java网络通信中,默认采用的字符编码是ISO-8859-1,它不支持中文字符。因此,当需要在网页上显示中文时,需要...
### log4j乱码问题解决办法 #### 一、引言 在开发过程中,日志记录是必不可少的一个环节。良好的日志系统可以帮助开发者快速定位问题并进行调试。Log4j作为一款广泛使用的Java日志框架,在很多项目中扮演着重要...
本篇文章将深入探讨Java中处理中文乱码的各种方法,帮助开发者有效解决这类问题。 首先,我们要了解Java中的字符编码。Java采用Unicode字符集,其内部字符串是以UTF-16编码存储的。这意味着Java可以处理世界上大...
Java基于Socket的局域网聊天软件是一款利用网络编程技术实现的多用户通信工具,它允许在局域网内的多个设备间进行实时的信息交换。Socket在Java中是网络通信的基础,它提供了一种低级别的、面向连接的、双向的通信...
在Java中,Socket类代表网络连接的一端,ServerSocket类用于监听并接受客户端的连接请求。一旦建立连接,数据就可以通过输入输出流进行交换。 在"JAVA SOCKET 编码实例"中,我们可能遇到以下关键知识点: 1. **...
Java默认使用UTF-8编码,但如果不正确地设置编码和解码,中文字符可能会显示为乱码。解决方案通常包括确保在读写数据时都使用一致的字符编码,例如在写入输出流前使用`new String(byte[], "UTF-8")`转换字节为字符串...
本文将深入探讨如何使用Java编程语言来调用ZPL(Zebra Programming Language)条码打印机,实现中文打印以及网络打印的功能。 ZPL是Zebra公司为它的条码打印机设计的一种编程语言,用于创建和控制打印任务。ZPL主要...
Java编写的Socket通信客户端是网络编程中的一个基础组件,它允许两台计算机通过TCP/IP协议进行双向通信。在这个客户端程序中,主要涉及了Java的Socket类和InputStream/OutputStream类,用于建立连接、发送数据和接收...
3. **解决乱码问题**:当客户端接收到乱码时,首先要确认发送端和接收端是否使用了相同的字符编码。可以尝试在接收端使用不同的解码方式进行解码,如`Charset.decode()`方法,指定正确的编码格式,如`...
1、新建java项目; 2、把解压后的5个java类复制进去,修改包路径 3、先运行服务器类MJServer.java,再运行客户端类MyClient.java ...ps:因为本人系统用的是繁体字,可能会导致有乱码出现,修改一下编码格式即可