Viktor's Supportboard (https://www.v-gn.de/wbb/index.php)
- Support für das wBB1.1, wBB1.2 und wBB Lite (https://www.v-gn.de/wbb/board.php?boardid=99)
-- Fragen/Hilfe/Sonstiges (wBB1.1/1.2) (https://www.v-gn.de/wbb/board.php?boardid=37)
--- Das lästige UMLAUTE Thema (https://www.v-gn.de/wbb/thread.php?threadid=16808)
Geschrieben von knudd am 21.08.2021 um 13:52:
Das lästige UMLAUTE Thema
Folgenes Problem ...
Wenn ich ein nutzer anlege mit dem namen
Beispiel: Martin Müller
Wird alles gespeichert , außer der username das feld bleibt leer. (Nicht wenn ich keine Umlaute benutze)
Tabellen und Spalten sind in utf8_general_ci
die htm und Tpl mit
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
versehen ... UTF-8 hab ich getestet (keine änderung)
Hat jemand eine Idee ?
Geschrieben von Schrimm am 21.08.2021 um 16:31:
Hallo,
Sehr wahrscheinlich verwendest du auch eine Datenbankverbindung als "UTF-8"?
Somit hast du auch ein Problem, wenn du deine Seite als "ISO 8859-1" anzeigst und Formulardaten in diesem Typ absendest ohne vorher eine Konvertierung durchzuführen, da das System nicht automatisch weiß, welche Zeichenkodierung verwendet wird.
In deinem Falle erwartet das System wohl eine "UTF-8" Kodierung, aber das Formular, oder eine Mittelstelle dazwischen sendet die Daten als "ISO 8859-1" wodurch Daten mit Umlauten für "UTF-8" invalid werden.
Da standardmäßig Formulardaten durch die Funktion "htmlspecialchars", im WoltLab Burning Board Lite, verändert werden und diese den Standardwert "UTF-8" haben wird, wird das gesamte Ergebnis verworfen, sofern ein ungültiges "UTF-8" kodiertes Zeichen auftritt, und die Daten landen als "leerer Datensatz" in der Datenbank.
Mittels einer PHP-Datei mit folgenden Inhalt könntest du erstmal feststellen, welcher HTTP-Header verwendet wird("default_charset"):
Eine eventuelle Lösung könnte dies sein:
Globale Einstellungen
Geschrieben von knudd am 21.08.2021 um 17:28:
Danke für die antwort und habe auch gleich mal geschaut
Das Ergebnis siehste im Bild
Ergänzung es ist nur beim feld username bei den anderen feldern geht ÄÖÜ
EDIT :
Ich habe in der user.php was geändet und nun geht.
Vorher
code: |
1:
|
VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".md5($password)."','".addslashes(htmlspecialchars($email))."' |
|
jetzt
code: |
1:
|
VALUES (NULL,'".addslashes(addslashes($username))."','".md5($password)."','".addslashes(htmlspecialchars($email))."' |
|
der tip mit der Übermittlung war es... ^^
Danke
Geschrieben von Schrimm am 21.08.2021 um 17:57:
Hallo,
Die Ersetzung von "htmlspecialchars" mit "addslashes" ist aber bei weitem keine äquivalente Ersetzung und ist in deinem Falle nun ein doppeltes "addslashes"...
Welche PHP-Version hast du denn?
"no value" als "default_charset" ist eher ungewöhnlich bei PHP-Versionen ab 5.6.
Vielleicht sollte der Wert mal gesetzt werden
Geschrieben von knudd am 21.08.2021 um 18:53:
wie setze ich den wert eines gemieteten servers ?
ich hab wbb auf 7.0 laufen .
Geschrieben von Schrimm am 21.08.2021 um 19:14:
Hallo,
Kommt auf deinen Zugriff an.
Wenn du die "php.ini" bearbeiten kannst, dann über jene.
Andernfalls über ein PHP-Skript, wie es beispielsweise mein geposteter Link macht.
Geschrieben von knudd am 22.08.2021 um 07:13:
|
Zitat: Original von knudd
Danke für die antwort und habe auch gleich mal geschaut
Das Ergebnis siehste im Bild
Ergänzung es ist nur beim feld username bei den anderen feldern geht ÄÖÜ
EDIT :
Ich habe in der user.php was geändet und nun geht.
Vorher
code: |
1:
|
VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".md5($password)."','".addslashes(htmlspecialchars($email))."' |
|
jetzt
code: |
1:
|
VALUES (NULL,'".addslashes(addslashes($username))."','".md5($password)."','".addslashes(htmlspecialchars($email))."' |
|
der tip mit der Übermittlung war es... ^^
Danke |
|
|
Ok das hat ja gut geklappt ,
Registrieren und im ACP neu anlegen geht nun .
Aber Editieren geht nicht dann ist das Feld wieder leer ...
Diese kleine fehler machen mich irre
Geschrieben von knudd am 29.08.2021 um 12:32:
So …
Ich habe mir mal ein ganz neues Test Bord hochgeladen .
um zu sehen ob es ein hausgemachtes Problem ist oder eins von mir .
Also anlegen eines Users geht mit ÄÖÜ usw. im Namen
Jetzt kommt das erstaunliche , selbst bei einem Neuen Bord geht das
Bearbeiten nicht … wenn man dann ÄÖÜ im Usernamen hat … wird es nicht übertragen und das Feld bleibt leer.
Habt ihr das Problem auch …. `
Mich würde das mal interessieren und würde euch mal bitten ein Test User zu machen mit ÄÖÜ im Namen und den dann zu bearbeiten .
ob bei euch auch der User Name weg ist
Geschrieben von knudd am 29.08.2021 um 12:53:
Edit :
Mit dem Eintrag
in der user.php
code: |
1:
|
header("Content-type:text/html; charset=utf-8"); |
|
weit oben .
werden die Umlaute nun gespeichert aber im portal mies dargestellt.
Geschrieben von knudd am 29.08.2021 um 13:55:
Edit :
Mit dem Eintrag
in der user.php
code: |
1:
|
header("Content-type:text/html; charset=utf-8"); |
|
weit oben .
und in der user_edit.htm
weit oben
code: |
1:
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> |
|
werden die Umlaute nun gespeichert aber im acp mies dargestellt.
deswegen noch das gemacht ....
Habe nun in der in der acp/user.php über :
code: |
1:
|
eval ("\$userbit .= \"".gettemplate("users_showbit")."\";"); |
|
folgendes eingebaut
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
$row[username] = str_replace("ü", "ü", $row[username]);
$row[username] = str_replace("ö", "ö", $row[username]);
$row[username] = str_replace("ä", "ä", $row[username]);
$row[username] = str_replace("ß", "ß", $row[username]);
$row[username] = str_replace("Ãœ", "Ü", $row[username]);
$row[username] = str_replace("Ö", "Ö", $row[username]);
$row[username] = str_replace("Ä", "Ä", $row[username]);
eval ("\$userbit .= \"".gettemplate("users_showbit")."\";"); |
|
und in der memberslist.php
auch über
code: |
1:
|
eval ("\$membersbit .= \" ".$tpl->get("memberslist_membersbit")."\";"); |
|
eingebaut ..nun geht alles und ist schick (umständlich aber ok)
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
$row[username] = str_replace("ü", "ü", $row[username]);
$row[username] = str_replace("ö", "ö", $row[username]);
$row[username] = str_replace("ä", "ä", $row[username]);
$row[username] = str_replace("ß", "ß", $row[username]);
$row[username] = str_replace("Ãœ", "Ü", $row[username]);
$row[username] = str_replace("Ö", "Ö", $row[username]);
$row[username] = str_replace("Ä", "Ä", $row[username]);
eval ("\$userbit .= \"".gettemplate("users_showbit")."\";"); |
|
Geschrieben von Schrimm am 29.08.2021 um 14:58:
Hallo,
Habe dir nicht umsonst gesagt wie das Problem zu lösen ist, aber wer nicht "hören will, muss...".
Dass das Problem auch bei "frischen Boards" besteht, ist daher nur logisch...
Geschrieben von knudd am 30.08.2021 um 02:32:
|
Zitat: Original von Schrimm
Hallo,
Habe dir nicht umsonst gesagt wie das Problem zu lösen ist, aber wer nicht "hören will, muss...".
Dass das Problem auch bei "frischen Boards" besteht, ist daher nur logisch...
|
|
|
"php.ini" lässt sich nicht ändern beziehungsweise kein zugriff
und script anfertigen kann ich nicht
Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab® GmbH