用Indy組件中的TIdTCPClient組件向java的服務器端傳遞文本,一直有亂碼問題。今天解決了。
我的開發環境是c++ builder 2009,indy 10。
c++的客戶端程序代碼大致如下:
??? if(!IdTCPClient1->Connected()){
??????? IdTCPClient1->Connect();
??? }
??? IdTCPClient1->IOHandler->WriteLn(”漢字123abcd”,enUTF8);
??? IdTCPClient1->Disconnect();
java服務端的代碼大致如下:
??? ServerSocket ss = new ServerSocket(1900);
??? Socket s = ss.accept();
??? InputStream is = s.getInputStream();
??? BufferedReader in = new BufferedReader(new InputStreamReader(is,Charset.forName(”UTF-8″)));
??? String line = “”;
??? while ((line = in.readLine()) != null) {
??????? System.out.println(line.toString());
??? }
??? is.close();
??? in.close();
??? s.close();
??? ss.close();