CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
04.12.2006, 19:46:01
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 25
|
|
Problem mit Textersetzung
Ich versuche Umlaute wie Ö Ü Ä umzuwandeln...
Klingt ganz einfach
einfach htmlspecialchars($nachricht) oder htmlentities($nachricht)
aber es Funktioniert nicht!
Ich kann mit keinem einzigen Textersetzungsbefehl die Zeichen umwandeln.
PHP-Code:
$nachricht = $_POST['nachricht'];
$nachricht = str_replace("ü", "ae", $nachricht);
$nachricht=ereg_replace("ä", "ae", $nachricht);
$nachricht = nl2br($nachricht);
Aus Not hab ich versucht alles zusammen zu schmeißen und einfach Umlaute in normale Buchstaben umzuwandeln... Aber es geht nicht.
Ich weis nicht was ich Falsch mache.
Die Variable $_POST['nachricht'] wird auch weiter gesendet und die $nachricht wird in die Datenbank eingetragen. Alle anderen Zeichen und Buchstaben kann ich umwandeln. Aber die Umlaute gehen nicht.
Ich hoffe ihr könnt mir helfen. Weis einfach nicht mehr weiter...
|
04.12.2006, 20:21:03
|
Administrator
|
|
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
|
|
AW: Problem mit Textersetzung
Hi,
der Fehler muss woanders liegen....
Versuche mal folgendes:
PHP-Code:
<?PHP
$nachricht = "Ich habe überhaupt keine äpfel mehr.";
$nachricht = str_replace("ü", "ue", $nachricht);
$nachricht=ereg_replace("ä", "ae", $nachricht);
$nachricht = nl2br($nachricht);
echo $nachricht;
?>
Einfach in eine Datei und ausführen. Er sollte es ersetzen. Wenn er es ersetzt dann hast du irgendwo ein Fehler in deinem Code.
Damir
|
04.12.2006, 20:39:16
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 25
|
|
Problem mit Textersetzung
Mein Text:
Ich finde Äpfel total cool. Überhaupt sind die ganz Günstig!
Die Ausgabe im Quelcode:
PHP-Code:
Ich finde Äpfel total cool. Überhaupt sind die ganz Günstig!
und der eintrag in der Datenbank
PHP-Code:
Ich finde Äpfel total cool. Überhaupt sind die ganz Günstig!
Also es wird umgeändert bevor es in die Datenbank kommt. Aber nach dem Umändern ist alles wie vorher...
deine Hilfe hat leider nichts gebracht.
|
04.12.2006, 20:54:05
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 25
|
|
AW: Problem mit Textersetzung
Ich hab vergessen zu Speichern sry!
Wenn ich die Variable direkt in das Dokument schreibe also so:
PHP-Code:
$nachricht = "Ich habe überhaupt keine günstigen Äpfel mehr!";
$nachricht = str_replace("ü", "ue", $nachricht);
$nachricht = ereg_replace("ä", "ae", $nachricht);
$nachricht = nl2br($nachricht);
Dann funktioniert es!
Aber warum geht es dann nicht über $_POST ?
Ich habe mein Dokument nochmal durchforstet.
Es kommt nur ein einziges mal vor dem Umwandeln im Dokument vor und dah nur zur überprüfung mit einem == .
Und die Variable wird direkt vom Formular ans Dokument gesendet.
also versteh ich nicht warum es nicht funktioniert!
Geändert von MasterPeace (04.12.2006 um 20:59:33 Uhr)
|
04.12.2006, 21:01:00
|
|
Junior Member
|
|
Registriert seit: Oct 2006
Ort: Crailsheim / SHA / Stuttgart
Alter: 32
Beiträge: 388
|
|
AW: Problem mit Textersetzung
warum machst du einmal str_replace und einmal ereg_replace?
also ich mach das auch immer aber ich verwende nur str_replace
PHP-Code:
<?
$text = $_POST['text'];
// Ü,ü ersetzen
$text = str_replace("Ü", "Ü", $text);
$text = str_replace("ü", "ü", $text);
// Ä,ä ersetzen
$text = str_replace("Ä", "Ä", $text);
$text = str_replace("ä", "ä", $text);
// Ö,ö ersetzen
$text = str_replace("Ö", "Ö", $text);
$text = str_replace("ö", "ö", $text);
// "\n" zu "<br />" umwandeln
$text = nl2br($text);
// Fertigen Text ausgeben!
echo $text;
?>
|
04.12.2006, 21:04:28
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 25
|
|
AW: Problem mit Textersetzung
Das habe ich nur deshalb gemacht, weil keines von beiden Funktioniert hat!
Und der Fehler scheint darin zu liegen das beim senden irgendwas an den Ü's und Ä's verändert wird, aber ich weis nicht was.
Und ich weis nicht warum!
Kann mir jemand helfen... wie auch immer! Ich nehme jeden Lösungsvorschlag dankend an und alle fragen die zur Lösung des Problems helfen könnten werden von mir best möglich beantwortet. Ich weis echt nicht mehr weiter!
Geändert von MasterPeace (04.12.2006 um 21:16:22 Uhr)
|
04.12.2006, 23:05:35
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Problem mit Textersetzung
Teste mal das:
PHP-Code:
$nachricht = "Äbääh ist Überübel und größer als Österreich";
echo $nachricht."<br>";
$array_1 = array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß');
$array_2 = array('Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue', 'ss');
for($x = 0; $x < 7; $x++){
$nachricht = str_replace($array_1[$x], $array_2[$x], $nachricht);
}
echo $nachricht;
|
05.12.2006, 05:24:14
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Problem mit Textersetzung
Zitat:
Zitat von MasterPeace
deine Hilfe hat leider nichts gebracht.
|
Das liegt daran, daß Du vergessen hast mitzuteilen, daß Deine Umlaute UTF8 kodiert aufschlagen.
|
05.12.2006, 08:41:23
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
AW: Problem mit Textersetzung
Zitat:
Zitat von Heinrich
Teste mal das:
PHP-Code:
$nachricht = "Äbääh ist Überübel und größer als Österreich";
echo $nachricht."<br>";
$array_1 = array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß');
$array_2 = array('Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue', 'ss');
for($x = 0; $x < 7; $x++){
$nachricht = str_replace($array_1[$x], $array_2[$x], $nachricht);
}
echo $nachricht;
|
Tipp, str_replace() kann mit Arrays umgehen:
PHP-Code:
<?php
$nachricht = "Äbääh ist Überübel und größer als Österreich";
echo $nachricht."<br>";
$array_1 = array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß');
$array_2 = array('Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue', 'ss');
$nachricht = str_replace($array_1, $array_2, $nachricht);
echo $nachricht;
?>
|
05.12.2006, 22:31:45
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 25
|
|
AW: Problem mit Textersetzung
Also Chris17 deine Idee funktioniert nicht ganz. Wenn ich meine Variable dort als normaler Text deklariere funktioniert es so wie immer, aber wenn ich sie über ein Formular sende dann funktioniert sie wieder nicht!
@meikel
Wie kann ich dann meinem Programm sagen das der Text mit UTF8 kodierung "aufschlagt"?
Kenn das noch nicht. Wär dankbar für eine Antwort.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:33:47 Uhr.
|