Java <-> php-Skript funktioniert nur unter Linux

C

Crymes

Guest
Hallo,
Ich habe ein Java Programm, dass mir Strings an ein .php Skript via POST sendet und dieses dann damit eine Datei erstellt.
Unter Ubuntu funktioniert alles wunderbar, nur unter Windows (XAMPP) klappts nicht.
Ich vermute dass es an folgendem Code liegt:

Code:
String daten = "String1=" + URLEncoder.encode("Irgendwas", "UTF-8") + "&" +  
					  	  "String2=" + URLEncoder.encode("Irgendwasanderes", "UTF-8") + "&" + usw.

Kann es sein, dass Windows nicht mit UTF-8 zurechtkommt?
 
Ich bräuchste so eine Art Fehlerausgabe von php.
In Linux wird eine Datei namens gut.abc angelegt. Ich übermittle gut als String, den Inhalt als String und den Dateipfad als String.
In Windows stimmt der Dateipfad, aber die Datei heißt nur gut, sie hat keine Endung und ist leer. Per echo werden mir aber die korrekten Werte der Strings zurückgegeben.
Es muss irgendwas mit dem xml Inhalt zu tun haben den mir der Java xmlEncoder erstellt, denn nehme ich als Inhalt z.B. "Hund" funktioniert auch unter Windows alles bestens ;(

Wenn ich aber das gleiche Skript nehm und es unter Wimdows mit dem Dateiinhalt fütter, der in der Datei war, die unter Linux erstellt wurden war, funktioniert auch alles ;(

Ich hab echt kein Plan was da schief läuft.
 
Die php Errorlogs sind leer bzw. ich jab sie gelöscht um frische zu bekommen, es werden aber keine mehr erstellt.
 
Dann speicher doch erstmal komplett var_dump($_POST) und var_dump($_GET) in einer datei. und dann vergleichste zwischen windows und linux. Oder zeigst es uns erstmal.
Alternativ, da PHP ja scheinbar keinen Fehler wirft, schreib mal ganz an den Anfang: error_reporting(E_ALL);
 
Unter Windows das aktuellste XAMPP und unter Ubuntu die Standardpakete.
Die unter Linux müsste dann glaub ich älter sein.
 
So, ich hab mir mal die var-dump Ausgabe angeschaut, es gibt tatsächlich einen Unterschied:

Der String, der in der Variable für denj Inhalt der Datei ist, ist unter Windows 4 Zeichenlänger.
Der Unterschied scheint zu sein, dass das Wort "höhe" (so wird es unter Linux ausgegeben) unter Windows so zurückkommt: ein kleines "h", ein A mit einer geschwungenen Linie obendrauf, ein "f", ein A mit einem Dächchen, ein Zeichen dass wie ein umgekehrtes P aussieht und normalerweise vor jeder Textzeile steht, und ein "he".
 
Ich hab jetzt endlich das Problem gefunden!
Windoof verträgt keine Doppelpunkte im Dateinamen, deshalb konnte die Datei auch nicht gefüllt werden.
 
Zurück