Falsche Zeichen im Text

Helgon

Bekanntes Mitglied
Hey, ich hab folgendes Problem. Ka ob das Java Forum die richtige Anlaufstelle ist, aber ich denke ihr könntet auch wissen woran es liegt.

Ich übergebe einen Text in der Form

Java:
Das ist der Lauftext der angezeigt werden soll!

der wird dann so leicht verändert

Java:
p7 = lauf.replace("&", "").replace(" ", "%");

was das ergibt:

Java:
Das%ist%der%Lauftext%der%angezeigt%werden%soll!

Das wird dann als Parameter an ne URL gehangen und die PHP aufgerufen.

Java:
$sh= $_GET['sh'];
	
	$datei = fopen("sh.txt", "w");
	if($datei != "null"){
		if (!$datei) {
			echo "err";
		} else {
			fwrite($datei, "$sh\n");
			fclose($datei);
			echo "1";
		}
	}

Das klappt auch alles super, das einzige Problem, dass Zeichen manchmal falsch in die TXT geschrieben werden.

Aus dem Text oben ist das geworden

Java:
Das%istÞr%LauftextÞr%angezeigt%werden%soll!

Dieses komische Þ taucht des öfteren auf in wörtern wie der, den, dem.. anscheinend liegts an dem "de". Jemand ne Idee wohers kommt/was man gegen machen kann?

Grüße
 

Helgon

Bekanntes Mitglied
Ich hatte nen UTF-8 Header probiert

Java:
	header("Content-Type: text/html; charset=utf-8");

dann die Variable direkt zu encoden

Java:
utf8_encode()

und auch
Java:
mb_detect_encoding()

Hat nix geholfen, also wieder rausgeschmissen :(

Grüße
 

HimBromBeere

Top Contributor
$sh= $_GET['sh'];

$datei = fopen("sh.txt", "w");

Was soll das eigentlich? Du erstellst eine Variable sh, verwendet sie aber nie? Sollte das nicht heißen fopen(sh."txt", "w") ... (hoffe, ich hab das mit der Verkettung von Strings in PHP nich richtig im Kopf, hab lange nicht mehr damit gearbeitet)

EDIT: Wenn du schon ein URL-encoding vornimmst, warum dann nicht gleich ein real existierendes (Leerzeichen ist glaub %20)? Dann musst du das theoretisch nicht mal manuell decodieren im Skript
 
Zuletzt bearbeitet:

Helgon

Bekanntes Mitglied
Java:
            fwrite($datei, "$sh\n");


...

Zum Edit: Weil ich anfangs nicht encodet habe und ichs da dann eben manuell lösen musste, ist jetzt ja aber auch nicht mega viel Aufwand.
 

Helgon

Bekanntes Mitglied
Mir hat ein PHP Forum den Tipp des urlencodes() gegeben.

Hier die Lösung, falls es mal wer braucht:

Java:
	try {
			p7 = URLEncoder.encode(lauf, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

p7 als parameter an die url

und beim ausgeben sicherheitshalber decoden

Java:
	try {
			jTextField5.setText(URLDecoder.decode(nr.getLauf(), "UTF-8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

Am PHP Skript musste nix geändert werden.

Grüße
 

HimBromBeere

Top Contributor
Das Zeichen Þ wird in einem URL als %DE encodiert.
was im Imkehrschluss bedeutet, dass überall, wo in deiner Textdatei %de steht (z.B. ich habe den Typen vermöbelt), wird dieses komische Zeichen draus.
Um das zu vermeiden, solltest du also wahrscheinlich wirklich über das Standard-URL-Encoding nachdenken :D
 
I

irgendjemand

Gast
leerzeichen entsprechen dem zeichen 0x20 ... also dem 32ten zeichen des ASCII codes ...

folglich muss ein leerziechen in einer URL auch mit %20 kodiert werden ...
überall wo aber ein gültiger hex-wert entsteht %00 - %FF *also auch bei %DE* wir dies versucht anhand des zeichensatzes zu dekodieren ...

schreibe also anstatt nur "%" ein "%20" an die leerzeichen und schon sollte alles gehen

*entsprechend solltest du alle anderen sonderzeichen *wie umlaute und andere in einer url nicht erlaubte zeichen* entsprechende kodieren ...


alternativ : verwende "java.net.URLEncoder.encode("dein text", "utf-8");"
 

Helgon

Bekanntes Mitglied
Danke für die Antworten, aber ich habe nun folgendes Problem, dass mir erst heute aufgefallen ist.
Sonderzeichen werden nicht richtig verarbeitet

aus
Code:
öäü
wird econdet das
Code:
%C3%B6%C3%A4%C3%BC

Java:
try {
				p6 = URLEncoder.encode(msg, "UTF-8");
			} catch (UnsupportedEncodingException e1) {
				e1.printStackTrace();
			}



und dannach in der PHP Datei folgendes geschrieben

öäü

Jemand jetzt ne Idee worans liegt?

In der PHP ist
Code:
	header("Content-Type: text/html; charset=utf-8");
drin.

Grüße
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
also im Encoder meines Vertrauens (URL Decoder/Encoder)kommt das hier raus:
%C3%A4%C3%B6%C3%BC

Also A4 und B6 vertauscht... keine Ahnung, welche Rolle das spielt, so genau kenn ich die Spezifikation zum Encoding nicht...

EDIT: oooh, hab´s gesehn, ich hatte äöü... in dem Fall, bitte ignorieren:oops:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
volcanos HashSet und Iterator -> Falsche Sortierreihenfolge ? Java Basics - Anfänger-Themen 18
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
D Falsche Zeile wird in JTable gelöscht Java Basics - Anfänger-Themen 6
W Array in String und String in Array - falsche Ausgaben Java Basics - Anfänger-Themen 20
T Falsche Ausgabe ???? Java Basics - Anfänger-Themen 13
S Falsche Ausgabe Java Basics - Anfänger-Themen 6
M Input/Output ISBN Leser - falsche Eingabe ausgeben Java Basics - Anfänger-Themen 2
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
K Falsche Methode Java Basics - Anfänger-Themen 3
J Falsche Darstellung von Float Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Falsche Werte bei Zeitmessungen Java Basics - Anfänger-Themen 7
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
D Kriege falsche MD5 Java Basics - Anfänger-Themen 12
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
S Falsche Version? Java Basics - Anfänger-Themen 2
C Falsche Zeit Java Basics - Anfänger-Themen 2
V Falsche Augabe Java Basics - Anfänger-Themen 16
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
O Falsche Bed. (ein überlauf) seh den Fehler aber nicht. Java Basics - Anfänger-Themen 3
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
S Falsche Ausgabe Java Basics - Anfänger-Themen 3
L Wegen TableSorter wird falsche Zeile einer Tabelle gelöscht? Java Basics - Anfänger-Themen 2
G falsche Version Java Basics - Anfänger-Themen 3
L Falsche Umsetzung von MVC, brauche Hilfe Java Basics - Anfänger-Themen 6
D Tabelle -> Daten eingeben -> Falsche erhalten Java Basics - Anfänger-Themen 9
S Falsche Ausgabe? Java Basics - Anfänger-Themen 2
F Falsche Daten aus Datei Java Basics - Anfänger-Themen 2
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
C falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
M Falsche do-Schleife? Java Basics - Anfänger-Themen 4
E falsche Ausgabe Java Basics - Anfänger-Themen 7
D Falsche Datumsausgabe? Java Basics - Anfänger-Themen 5
J erhalte falsche Kalenderwoche - wo ist der Fehler? Java Basics - Anfänger-Themen 2
J Quelltext mit komischen griechischen Zeichen Java Basics - Anfänger-Themen 4
T or zeichen Java Basics - Anfänger-Themen 2
L 4 stelliges Passwort aus bestimmten Zeichen. Java Basics - Anfänger-Themen 27
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
S Was bedeutet das Zeichen := Java Basics - Anfänger-Themen 9
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
S Arrayausgabe und nur einmal ein Zeichen davor Java Basics - Anfänger-Themen 12
johnboyne Java Zeichen Trennen Java Basics - Anfänger-Themen 1
T Zeichen im String verschiebe Java Basics - Anfänger-Themen 17
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
pkm Regexproblem - Wie kann ich zwei oder mehr beliebige Zeichen matchen? Java Basics - Anfänger-Themen 7
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
Dimax Erste Schritte String replace alle Zeichen Java Basics - Anfänger-Themen 10
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
J ObjectOutputStream writeChars, komische Zeichen nur in 1. Zeile Java Basics - Anfänger-Themen 2
H Fehlerausgabe (Ungewollte Zeichen) Java Basics - Anfänger-Themen 1
R Komische Zeichen in Java Java Basics - Anfänger-Themen 5
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
J Vorkommen von Zeichen Java Basics - Anfänger-Themen 44
H Verschiebung von Zeichen Java Basics - Anfänger-Themen 18
O String von vorne nach hinten an einem Zeichen Java Basics - Anfänger-Themen 10
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
L String auf bestimmte zeichen untersuchen Java Basics - Anfänger-Themen 9
D gebe string zurück mit von bis bestimmtes Zeichen Java Basics - Anfänger-Themen 4
L Rekursion größtes Zeichen Java Basics - Anfänger-Themen 8
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
Y String auf allgemein Zeichen untersuchen Java Basics - Anfänger-Themen 3
S String trennen nach beliebigen Zeichen Java Basics - Anfänger-Themen 3
C Zeichen im String bis zu bestimmter Stelle entfernen Java Basics - Anfänger-Themen 6
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben