Portal > Foren > Java > Allgemeine Java-Programmierung > Schmierzeichen bei der Datenrückgabe
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 27.09.2007, 12:51 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard Schmierzeichen bei der Datenrückgabe

Hallo,
ich habe gerade das Tutorial ([JAVA] Wie man aus Java mit einem PHP-Script kommuniziert) gelesen und ausprobiert. Vielen Dank an dieser Stelle an den Verfasser . Mein Problem ist nun, dass ich in der Konsole "key:foo1=bar key:foo2=bar2?" angezeigt bekomme. Man beachte das Fragezeichen . Hier bei handelt es sich wahrscheinlich um ein Schmierzeichen.
Ist das normal???
Danke für die Hilfe. AudiCamper
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 13:24 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hallo und willkommen im Forum,
sollte eigentlich nicht normal sein. Wo das Fragezeichen nun herkommt, weiß ich allerdings auch nicht.

Beeinträchtigt das Zeichen denn die Funktionalität deiner Anwendung? Wenn nicht würde ich es einfach ignorieren.
Ist vielleicht nicht der beste Rat, aber nunja.

Ich hab das Wort "Schmierzeichen" noch nie gehört.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 13:56 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Hai Ben.
Das beinträchtigt meine Anwendung soweit, da ich den Rückgabewert in einen Integer umwandeln will. Hier knallt es dann natürlich. Ich habe es so gelöst, dass ich einfach das letzte Zeichen immer entferne. Ich hoffe das führt zu keinen Problemen.
Tritt das denn bei dir auch auf?
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 14:00 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ich habe das jetzt nicht nochmal getestet, allerdings habe ich es getestet, als das Tutorial veröffentlicht wurde.

Also bei mir trat das da nicht auf. Auf jeden Fall kann ich mich nicht daran erinnern.

Hm, du kannst ja überprüfen, ob das letzte Zeichen ein integer ist. Wenn das nicht der Fall ist entfernst du das Zeichen, dann hast du auf jeden Fall etwas mehr Sicherheit, als wenn du es einfach blind weghaust.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 14:03 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Zitat:
das letzte Zeichen immer entferne
Gefährlich!
Wenn du weißt, dass es ein ? ist, dann lösche das lieber raus als das letzte Zeichen zu entfernen...
Schon mal im Quellcode gesucht ob du irgendwo versehentlich ein ? stehen hast?!
Wenn nicht kannst du auch gerne mal deinen Quellcode posten
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 14:35 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Wenn ich mir das Zeichen im Debugger ansehe, sehe ich nur ein Quadrat. Dargestellt wird es bei der Ausgabe dann als "?". Daher nenne ich es Schmierzeichen . Ich benutze den gleichen Code aus dem Tutorial von sparrow.
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 15:18 Nach oben    #7
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Hmm... kannst du dir mal das letzte Zeichen der Rückgabe als int ausgeben lassen?

Und poste bitte trotzdem nochmal den Code, den du in der PHP-Datei und der read-Methode hast.
pago ist gerade online  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 15:29 Nach oben    #8
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Hier kommts:
Code:
     public String read() throws IOException {
                if (con == null) {
             con = sitepath.openConnection();
         }
         InputStream in = con.getInputStream();
         int c = 0;
         StringBuffer incoming = new StringBuffer();
         while (c >= 0) {
             c = in.read();
             incoming.append((char) c);
         }
         return incoming.toString().substring(0,incoming.toString().length()-1);
     }
Und hier die PHP-Datei:
PHP-Code:
    switch ($verarbkezi) {
     case 
1
      
$sql "select hwplz_demo from benutzerdaten where Id = ".$sid;
      
$result mysql_query($sql) OR die(mysql_error());
      if(
mysql_num_rows($result)) {
       while(
$row mysql_fetch_assoc($result)) {            
        if (
$row['hwplz_demo'] == "")
         echo 
"0";
        else
            echo 
$row['hwplz_demo'];        
       }    
      } 
      else {
       echo 
"0";
      }
      break; 
In PHP hole ich mir nur einen Wert aus der DB und gebe ihn über das echo zurück. Zur Zeit schneide ich einfach das letzte Zeichen ab.
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 15:35 Nach oben    #9
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Okay, ändere mal:
Code:
return incoming.toString().substring(0,incoming.toString().length()-1);
zu:
Code:
String result = incoming.toString();
System.out.println("Strange char="+((int)result.charAt(result.length()-1)));
return result;
Und lass dir die Ausgabe deines PHP-Skripts mal in nem Webbrowser anzeigen (Quelltext).
pago ist gerade online  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.09.2007, 16:32 Nach oben    #10
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Ich melde mich morgen noch einmal. Jetzt muss ich leider weg.
Danke für Eure Hilfe. Morgen gehts weiter.
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 08:08 Nach oben    #11
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Moin. Da bin ich wieder.
Ich habe das mal eingebaut und bekomme als Ausgabe "Strange char=65535". Sagt dir das was?
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 10:23 Nach oben    #12
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Das wäre das absolut letzte Zeichen im UTF-8 Bereich... verdammt gute Frage was das sein soll...
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 11:06 Nach oben    #13
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Hm....
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 11:35 Nach oben    #14
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Interessant. Hast du dir die Ausgabe von deinem Skript mal im Browser anzeigen lassen?

Hmm... wär auch nützlich zu wissen, in was für nem Encoding die Ausgabe vom Skript stattfindet. Vielleicht gibt's da ein Problem mit.
pago ist gerade online  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 12:31 Nach oben    #15
Neuer Benutzer
 
Registriert seit: 27.09.2007
Beiträge: 11
Standard

Also, ich werde das mit dem Abschneiden des letzten Zeichens einbauen. Die Funktionalität ist nicht kritisch.
Vielen Dank an euch für die Hilfe

Gestern ist ein weiteres Problem aufgetreten. Ich öffne in dem gleichen Applet eine Verbindung zu einem Serverprozess, der bei uns in der Firma läuft. Das benötigte Tor habe ich an die entsprechende IP weitergeleitet. Die Verbindung hat auch schon geklappt. Allerdings, wenn ich das Applet von zu Hause aus aufrufe, bekomme ich eine "java.net.ConnectException: Connection timed out: connect". Kann das an meiner langsamen DSL-Verbindung liegen? Ich benutze den Router "Speedport 700W".

Können wir das hier auch diskutiere oder muss ich ein neues Thema aufmachen?
Gruß AudiCamper
AudiCamper ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2007, 12:35 Nach oben    #16
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Mach am besten ein neues Thema auf. Dann ist das besser getrennt und man findet das Problem besser, da der Titel des Threads passender ist.
Danke.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45