1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. nithdi, 16.07.2010 #1
    nithdi

    nithdi Threadstarter Neuer Benutzer

    Hi.

    Ich verzweifle gerade an einem eigentlich kleinen Problem - sollte man meinen...

    Ausgangssituation ist folgende:
    Es werden Strings zwischen einem Server, welcher unter Windows läuft, und dem Android App ausgetauscht.
    Der Server ist in Delphi geschrieben und verschickt die Strings mit Unicode Encoding (UTF-16). Als Komponente verwende ich Indy in der Version 10.5.5.
    Gelesen werden sie im Android mit einem InputstreamReader.

    Code:
    Socket listenSocket = new Socket();
    SocketAddress adr = new InetSocketAddress(IPAdress, Integer.parseInt(Port));
    listenSocket.connect(adr,5000);
    BufferedReader in = new BufferedReader(new InputStreamReader(listenSocket.getInputStream(), "UTF-16"));
    
    ...
    
    String input = in.readline();
    
    editfeld.settext(input);
    
    Ich bekomme es aber nicht auf die Reihe, die Strings richtig zu lesen! Entweder werden sie als japanische Zeichen dargestellt, oder das App hängt sich auf (keine Force Close, sondern einfach schwarzer Bildschirm).

    Ich hab schon alle möglichen Charsets ausprobiert.. UTF-16LE, UTF-16BE.

    Hab auch schon das Charset für den Server und App geändert in UTF-8 - auch nix.

    Ich bin absolut am Verzweifeln, weil es einfach nicht funktionieren will.


    Bin für jeden Tipp dankbar!!

    Mfg
     
  2. nithdi, 17.07.2010 #2
    nithdi

    nithdi Threadstarter Neuer Benutzer

    Kommando zurück...
    Das Problem war nur eine Variable im Delphi Server...