`
liuguly
  • 浏览: 10230 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

关于javaSocket与C#通信编码问题小结

 
阅读更多

客户端使用java
服务端使用C#

客户端数据库SqlServer2000编码简体中文GBK
服务端数据库SqlServer2008编码SQL_Latin1_General_CP1_CI_AS

客户端取出数据使用new String("消息".getBytes("GBK"),"UTF-8");进行转换
发送的时候使用PrintWriter pw = new PrintWriter(socket.getOutputStream);
服务端只接收UTF-8编码显示为乱码。

后来参考资料,才明白new String("消息".getBytes("GBK"),"UTF-8");这种方式只是在JVM内部转换,那么一旦涉及到流比如数据库、文件等就要使用java IO进行转换。也就是说JVM内部编码unicode和外部os编码的转换。
使用下面方式就没有问题了
字符流方式发送
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream),"UTF-8")),false);
字节流方式发送
PrintStream ps = new PrintStream(socket.getOutputStream(),false,"UTF-8");
false表示手动pw.flush();

分享到:
评论

相关推荐

    javaSOCKET通信聊天系统

    Java SOCKET通信聊天系统是一种基于Java编程语言实现的网络通信应用,它允许用户在局域网内进行类似QQ或飞鸽的即时通讯。该系统的核心是Java的Socket编程,这是一种网络编程接口,使得客户端和服务器之间可以建立...

    JAVA源码JavaSocket聊天通信演示代码

    JAVA源码JavaSocket聊天通信演示代码

    基于JavaSocket多客户端并发通信聊天程序的设计与实现

    【JavaSocket多客户端并发通信聊天程序的设计与实现】 在Java编程中,Socket是进行网络通信的核心组件,尤其在构建多客户端并发聊天程序时,Socket扮演着至关重要的角色。本文将详细探讨基于JavaSocket的多客户端...

    JAVA源码javaSocket通信实现代码

    JAVA源码javaSocket通信实现代码

    javaSocket的即时通信系统客户端代码分享

    Java Socket 是Java编程语言中用于实现网络通信的基础类库,它允许Java程序作为一个TCP客户端,与服务器进行数据交互。在本“Java Socket的即时通信系统客户端代码分享”中,我们将探讨如何利用Java Socket构建一个...

    javaSocket的Tcp通信方式两个线程,一个线程接收数据一个线程发送数据

    在"javaSocket的Tcp通信方式两个线程,一个线程接收数据一个线程发送数据"这个场景下,我们将探讨如何通过多线程来优化TCP通信的效率和响应性。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠...

    javasocket通信编程-示例代码

    这个"javasocket"压缩包文件可能包含了客户端和服务器端的示例代码,通过运行这些代码,你可以看到Socket通信的实际效果。在学习过程中,尝试修改和扩展这些代码,以加深对Socket通信的理解,比如添加数据加密、心跳...

    基于JavaSocket多客户端并发通信聊天程序的设计与实现..pdf

    【JavaSocket多客户端并发通信聊天程序】是一种基于Java编程语言实现的网络通信应用程序,它允许多个客户端同时与服务器进行交互,实现多人实时聊天的功能。JavaSocket利用了Java提供的强大网络编程接口,使得开发者...

    javaSocket客户端与服务端

    - **数据编码与解码**:在传输数据时,可能需要将数据转换为字节流或字符流,这就涉及到字符编码的问题,如UTF-8或GBK。 - **关闭顺序**:在关闭Socket时,应先关闭输出流,再关闭输入流,最后关闭Socket。否则可能...

    基于JavaSocket技术的多功能网络通信系统

    基于JavaSocket技术的多功能网络通信系统

    java源码资源javaSocket通信实现

    java源码资源java Socket通信实现提取方式是百度网盘分享地址

    java源码资源JavaSocket聊天通信演示代码

    java源码资源Java Socket 聊天通信演示代码提取方式是百度网盘分享地址

    基于JavaSocket多客户端并发通信聊天程序的设计与实现..docx

    ### 基于Java Socket多客户端并发通信聊天程序的设计与实现 #### 1. 引言 Java作为一种广泛应用于跨平台应用开发的面向对象编程语言,在互联网领域取得了巨大成功。尤其是在网络编程方面,Java提供了丰富的API,...

    JavaSocket学习---NIO实现非阻塞的通信

    本篇文章将围绕"JavaSocket学习---NIO实现非阻塞的通信"这一主题,深入探讨NIO如何应用于Socket通信,以提高程序的效率。 首先,我们来看`EchoServerNoBlock.java`,这是基于NIO的服务器端程序。传统的Socket服务器...

    两步学会JavaSocket编程

    // 与客户端通信的逻辑 // ... socket.close(); } ss.close(); } catch (IOException e) { // 异常处理 } } } ``` - **客户端**: ```java import java.io.*; import java.net.*; public class Client { ...

    javaSocket

    Java Socket是Java编程语言中用于网络通信的核心API,它提供了低级别的、面向连接的、基于TCP/IP的通信机制。在给定的“javaSocket”压缩包中,包含了一个TCP聊天室服务器(TCPChatRoomServer)和一个对应的客户端...

    Flex与javasocket通讯.pdf

    Flex与javasocket通讯.pdf

Global site tag (gtag.js) - Google Analytics