| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

19-01-2010, 13:10
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
Umlaute werden in Optionen nicht aufgerufen
Hallo!
Ich habe ein Problem mit dem Editieren meiner Daten aus einer SQL-Datenbank.
Wenn ich Daten editieren lassen möchte, lass ich sie aus der Datenbank in den Value der HTML Form ablegen.
Da dies bei Auswahlmenüs nicht funktioniert, habe ich mich entschlossen, folgende Anweisung zu gestalten:
if ($line[SPRACHE]=="Französisch"){
$spracheF = "selected";
}else{
$spracheF = "";
};
Variable kommt dann in das Options Tag, so, dass die Sprache automatisch angewählt werden soll. Das klappt bei Deutsch, Englisch usw. auch sehr gut. Allerdings habe ich erhebliche Schwierigkeiten mit dieser Methode bei Umlauten. In der Datenbank steht "Französisch", in der Option steht "Französisch" usw. die ISO-8859-1 und für die Datenbank Latin1. Also eigentlich müsste alles super laufen.
Hat von euch jemand einen Tipp?!?!?
Danke für eure Hilfe!
|

19-01-2010, 14:07
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
PHP-Code:
$line['SPRACHE']
so sollte man mit assoziativen Arrays arbeiten.
Und was ergibt ein
PHP-Code:
echo $line['SPRACHE'];
Peter
Btw: irgendwo mit htmlentities oder htmlspecialchars gearbeitet?
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

19-01-2010, 14:25
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
den Satz mit den Zeichencodierungen habe ich nicht verstanden. Wer hat jetzt was? Bitte ausfüllen:
Datenbank:
alle Tabellen:
alle Spalten:
MySQL-Verbindung:
PHP-Skript, intern:
PHP-Skript, HTML-Ausgabe:
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 14:32
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
Datenbank:LATIN1
alle Tabellen:ISO-8859-1
alle Spalten: ISO-8859-1
MySQL-Verbindung:ISO-8859-1
PHP-Skript, intern:keine Ahnung
PHP-Skript, HTML-Ausgabe: ISO-8859-1
Ein
PHP-Code:
echo $_REQUEST[SPRACHE]
ergibt Französisch. Also so, wie es eigentlich sein sollte. Ich verstehe das nicht.
|

19-01-2010, 14:34
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Und was ergibt
PHP-Code:
echo('Französisch');
, wenn es in demselben Skript aufgerufen wird?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 14:40
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
PHP-Code:
echo('Französisch');
ergibt "Französisch" :-(
|

19-01-2010, 14:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
und
PHP-Code:
echo((int)($_REQUEST["SPRACHE"] == "Französisch"));
?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 14:49
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
PHP-Code:
echo((int)($_REQUEST["SPRACHE"] == "Französisch"));
ergibt "0"
|

19-01-2010, 14:51
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dann ist $_REQUEST["SPRACHE"] auch nicht Französisch! Z. B. " Französisch" oder "Französisch " oder sonstwas. Geh den String doch mal byteweise durch und lass dir die Bytewerte mit
PHP-Code:
dechex(ord($byte))
anzeigen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 14:54
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
Sorry, bin noch ziemlich neu. Wie muss ich das genau anstellen?
Danke für Deine Hilfe!!!
|

19-01-2010, 14:58
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
PHP-Code:
$string = $_REQUEST["SPRACHE"];
for ($i = 0; $i < strlen($string); $i++) {
echo(str_pad(dechex(ord($string[$i])), 2, 0, STR_PAD_LEFT) . " ");
}
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 15:09
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
Das ist das Ergebnis:
"46 72 61 6e 7a f6 73 69 73 63 68"
Also Französisch. Wo kann nur der Fehler sein?
OffTopic: *join* Ändern-Button benutzen!
Es muss wirklich am Umlaut liegen. Wenn ich aus "Französisch" "Franzosisch" mache, dann läuft alles wie erwartet.
Das verstehe ich nicht!
Geändert von AmicaNoctis (19-01-2010 um 15:20 Uhr)
|

19-01-2010, 15:19
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Und dasselbe mit
PHP-Code:
$string = "Französisch";
?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2010, 15:27
|
|
Thomasd22hb
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 21
|
|
Ja, die gleiche Ausgabe: "46 72 61 6e 7a f6 73 69 73 63 68".
|

19-01-2010, 15:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Wieso hat dann aber
PHP-Code:
echo((int)($_REQUEST["SPRACHE"] == "Französisch"));
0 ausgegeben?
Was ergibt denn $line["SPRACHE"] für eine Hexdarstellung? Wir haben uns ja jetzt mit $_REQUEST befasst, oder hast du zwischendurch schon $line genommen? Dann ist es kein Wunder, dass sich jetzt alles widerspricht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (19-01-2010 um 15:33 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
|
|
|
|
PHP News
|