Serverumzug/Neuinstallation keine Umlaute |
|
Serverumzug/Neuinstallation keine Umlaute |
Beitrag Nr.: 1 |
Hallo
Wir planen einen Serverumzug und sind an der Installation von WBB2.3.6. Wenn ich nun einen Export der Daten mache, dann steht da z.B.
code: |
1:
2:
3:
4:
5:
|
CREATE TABLE IF NOT EXISTS `bb1_announcements` (
`boardid` int(11) NOT NULL DEFAULT '0',
`threadid` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`boardid`,`threadid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; |
|
Die Daten werden also mit CHARSET=latin1 und die Felder dann mit latin1_german1_ci abgefüllt.
In der Datenbank sind dann auch die Umlaute alle wunderbar drin. Öffne ich dann aber das Forum auf dem neuen Server, dann sind alle Umlaute mit Sonderzeichen, also das
ö = ö
ä = ä
ü = ü
usw. Wenn ich dann in der global von windows-1252 auf UTF8 Unicode umstelle, dann scheint das Problem gelöst zu sein. Aber es scheint nur so, dann in der Shoutbox hatte ich danach keinen Text mehr, sobald man ein Umlaut verwendet. Wieder auf windows-1252 zurückgestellt und die Umlaute waren da in der Shoutbox.
Ich habe auch schon probiert, die Tabellen auf einen anderen CHARSET zu setzen. Wenn ich z.B. utf8_general_ci nehme, dann werden alle neuen Themen, Boards beim Umlaut abgeschnitten und so (z.B. Ank statt Ankündigungen) in der DB gespeichert. Schreibe ich das Wort dann in der Datenbank, dann kommt es richtig in der Datenbank aber falsch im Forum mit der windows-1252
Bei den mysql - Variablen habe ich folgende Einstellungen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
character set client = utf8
(Wert für diese Sitzung) = utf8mb4
character set connection = utf8
(Wert für diese Sitzung ) = utf8mb4
character set database = utf8
character set filesystem = binary
character set results = utf8
(Wert für diese Sitzung ) = utf8mb4
character set server = utf8
character set system = utf8 |
|
Ich vermute hier den Fehler, aber ich weiss nicht auf welche Werte ich diese anpassen müsste.
Es ist php 5.5.9 drauf mit MariaDB für mysql 5.0.11 (denke ich).
Hat mir jemand ein Tip wie ich das gerade biegen kann, dass ich mit windows-1252, gem. Standard arbeiten kann?
__________________
|
|
15.08.2016 16:57 |
|
|
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 15761
|
|
|
15.08.2016 17:14 |
|
|
|
RE: Serverumzug/Neuinstallation keine Umlaute |
Beitrag Nr.: 3 |
Hallo Haumi
Danke für die rasche Antwort. Es ist nicht Devils Shoutbox und ich denke, dass hier eben nur der 1. Test war mit dem Fehler. Wenn dann alle Leute da sind, und es kommt dann zu dem Umlautproblem, dann ist es ärgerlich.
mysql_query gibt es nicht mehr. Habe das aber durch mysqli_query ersetzt. Hat aber leider nicht geholfen, oder ich habe hier noch etwas falsch gemacht.
__________________
|
|
15.08.2016 17:33 |
|
|
|
Zitat: |
Original von haumi
Hi Schnofeli,
mysql_query gibt es nach wie vor. |
|
OK und danke für den Hinweis. Also wieder entsprechend angepasst in der global.php
Zitat: |
Original von haumi
Zu deiner Aussage:
Zitat: |
Wenn ich dann in der global von windows-1252 auf UTF8 Unicode umstelle, dann scheint das Problem gelöst zu sein. Aber es scheint nur so, dann in der Shoutbox hatte ich danach keinen Text mehr, sobald man ein Umlaut verwendet. Wieder auf windows-1252 zurückgestellt und die Umlaute waren da in der Shoutbox. |
|
wenn du das machst und die Änderung aus dem Link weiter oben in die xy-Box einfügst sollte das auch bei dir klappen. |
|
Habe das mal in der ...global.php von der Shoutbox rein getan, allerdings ohne Erfolg. Es stand auch geschrieben, dass diese auf UTF8 aufgebaut sei und es hat Code mit utf8_encode und utf8_decode drin.
Zitat: |
Original von haumi
Was eventuell bei deinem Versuch fehlschlägt, ist das mysqli durchgehend verwendet werden muss also auch schon bei der Datenbankverbindung - so ist es jedenfalls bei mir-
LG
hannes |
|
genau. Das habe ich heute Nachmittag noch entsprechend der Anleitung von Speedy gemacht, in der Hoffnung es würde daran liegen, weil bei mir im phpMyAdmin drin steht: "PHP-Erweiterung: mysqli"
__________________
|
|
15.08.2016 18:07 |
|
|
|
Also in der global.php wieder rausgenommen. Das Problem ist, dass in der Datenbank die ä, ö, ü, auch vorhanden sind, wenn diese jemand in der Shoutbox schreibt. Nur anzeigen tut es sie nicht, wenn ich im den Spracheinstellungen "utf8 unicode" drin habe. Bei "windows-1252" ist mit der Shoutbox alles i.O. Daher kann ich es nicht so umsetzen wie im Beitrag geschrieben steht, weil doch gar keine Umlaute daher kommen. Oder bin ich hier auf dem Holzweg?
__________________
|
|
15.08.2016 18:54 |
|
|
|
Warst schneller im Antwort geben.
Also ich habe das noch ausprobiert. Da steht dann schon im Original:
code: |
1:
|
$message = utf8_decode($row['message']); |
|
demzufolge einmal angepasst auf:
code: |
1:
2:
3:
4:
5:
6:
|
//haumi
$message=htmlspecialchars($message);
$umlaute = array("ä","Ã?¶","ü","Ä","Ö","ÃÂœ","ß");
$doppelbuchstaben = array("ä","ö","ü","Ä","Ö","Ü","ss");
$message = str_replace($umlaute,$doppelbuchstaben,$message);
//ende haumi |
|
Die Abänderung der Umlaute demzufolge, weil ich diese so gesehen habe in der Shoutbox, nachdem ich von ...decode... auf ...encode... geändert hatte. Wenn die Einstellung auf decode bleibt, dann ist nach wie vor ein schwarzer Text, resp. nichts da. bei encode kommen die obiigen Zeichen ä=ä usw.
__________________
|
|
15.08.2016 19:34 |
|
|
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 15769
|
|
H Schnofeli,
In meiner Anleitung steht nichts von
$message = utf8_decode($row['message']);
und es ist auch unabhängig davon.
Wenn du dich nicht an die Anleitung hältst, und nur ein Teil von vielen änderst kann es nicht funktionieren.
Nimm eine neue xy_megashoutbox.php und ändere nur folgenes - aber alles!
Öffne xy_megashoutbox.php und suche (ist 2 x vorhanden):
code: |
1:
|
$comment = htmlspecialchars($_POST['comment'], ENT_NOQUOTES); |
|
Ersetze es mit (auch 2 Mal):
code: |
1:
2:
3:
4:
5:
6:
7:
|
//$comment = htmlspecialchars($_POST['comment'], ENT_NOQUOTES);
$comment=utf8_encode($comment);
$comment=htmlspecialchars($comment);
$umlaute = array("ä","ö","ü","Ä","Ö","Ãœ","ß");
$doppelbuchstaben = array("ä","ö","ü","Ä","Ö","Ü","ss");
$comment = str_replace($umlaute,$doppelbuchstaben,$comment); |
|
suche weiter:
code: |
1:
|
$popcomment=htmlspecialchars($pop['comment'],ENT_QUOTES); |
|
Ersetze es mit:
code: |
1:
2:
3:
4:
5:
6:
7:
|
//$popcomment=htmlspecialchars($pop['comment'],ENT_QUOTES);
$comment=utf8_encode($comment);
$comment=htmlspecialchars($comment);
$umlaute = array("ä","ö","ü","Ä","Ö","Ãœ","ß");
$doppelbuchstaben = array("ä","ö","ü","Ä","Ö","Ü","ss");
$comment = str_replace($umlaute,$doppelbuchstaben,$comment); |
|
suche weiter:
code: |
1:
|
$message=addslashes(htmlspecialchars($message, ENT_NOQUOTES)); |
|
ersetze es mit:
code: |
1:
2:
3:
4:
5:
6:
7:
|
//$message=addslashes(htmlspecialchars($message, ENT_NOQUOTES));
$message=utf8_encode($message);
$message=htmlspecialchars($message);
$umlaute = array("ä","ö","ü","Ä","Ö","Ãœ","ß");
$doppelbuchstaben = array("ä","ö","ü","Ä","Ö","Ü","ss");
$message = str_replace($umlaute,$doppelbuchstaben,$message); |
|
LG
haumi
__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.
|
|
16.08.2016 06:51 |
|
|
|
Hallo Haumi
Das kann ich auch gar nicht, weil von dem (öffne xy... und suche) gar nichts davon in der nachrichten.php vorhanden ist. Ich habe doch gar keine xy_shoutbox
Da steht dann lediglich
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
if($boardversion == "1.0.2"){
$message = $parse->doparse($row['message'],1,0,0,0);
$message = str_replace("{imagefolder}", $us_3['substitute'],$message);
#$message = utf8_encode($message);
}else{
$message = utf8_decode($row['message']);
//haumi
$message=htmlspecialchars($message);
$umlaute = array("ä","Ã?¶","ü","Ä","Ö","ÃÂœ","ß");
$doppelbuchstaben = array("ä","ö","ü","Ä","Ö","Ü","ss");
$message = str_replace($umlaute,$doppelbuchstaben,$message);
//ende haumi
$message = $parse->doparse($message,1,0,0,0);
#$message = str_replace("{imagefolder}", $us_3['substitute'],$message);
$message = utf8_encode($message); |
|
Also hier noch mit dem Teil von Dir mit drin.
__________________
|
|
17.08.2016 09:00 |
|
|
|
Das ist die Shoutbox V2 vom Hopfenschlodel. Diese ist aber nicht frei verfügbar und ich weiss nicht, ob ich dann einfach die php - Datei(en) hier rein stellen darf.
Aber wie schon einmal erwähnt, denke ich auch gar nicht, dass es an der Shoutbox liegt, denn wenn das Forum mit Charset = windows1252 läuft, dann funktioniert sie einwandfrei.
Dein Forum hier läuft auch mit diesem Charset. Von dem her denke ich, dass das die richtige Einstellung sein müsste und der Fehler daher woanders begraben sein müsste.
Kannst Du mir ev. die SQL - Variablen nennen, die Du eingestellt hast im phpMyAdmin? Ich vermute nämlich, dass es hiermit zu tun hat, denn in der Datenbank werden die geschriebenen Umlaute alle richtig gespeichert. Erst wenn diese wieder ausgelesen werden, dann stimmt es nicht mehr.
Ach ja, die Boardversion ist 2.3.6
__________________
|
|
17.08.2016 14:37 |
|
|
|
Zitat: |
Original von haumi
Wenn alles korrekt angezeigt wird und nur die Box den Fehler ausweist muss es an der Box liegen! |
|
Die Umlaute werden nur dann korrekt angezeigt, wenn ich in den Sprachvariablen "LANG_GLOBAL_ENCODING:" vom WBB2.3.6 den Eintrag "windows-1252" durch "UTF-8 unicode" ersetze. Wenn dort wie im Standard "windows-1252" steht, dann sind keine Umlaute da.
Zitat: |
Original von haumi
Hier ist der Zeichensatz/Kollation der MySQL-Verbindung = utf8_general_ci.
Server: dd35016 via TCP/IP
Software: MySQL
Software-Version: 5.6.30-nmm1-log - (Ubuntu)
Protokoll-Version: 10
Server Zeichensatz: UTF-8 Unicode (utf8)
Ich weiß nicht ob es dir weiter hilft.
LG
haumi |
|
nur bedingt. Hast Du ev. etwas in den Variablen geändert? Resp. steht dort irgendetwas wie z.B. Latin1 oder sonst etwas anderes als UTF8?
__________________
|
|
17.08.2016 17:42 |
|
|
|
Danke für Deine Bemühungen.
__________________
|
|
20.08.2016 12:10 |
|
|
|
Hallo, das problem habe ich auch mit den Umlaute in der Shoutbox, ich habe die Devil shoutbox.
Ist erst der wir mit dem Forum umgezogen sind.
Muss dazu sagen, den umzug vom Forum auf den Server habe ich allein gemacht.
Stine hatte mir geholfen mit der SQL datenbank in ordnung zu bringen.
Aber Haumi, kannst du mir helfen wie ich die Umlaute ändern kann?
LG Conny
|
|
07.09.2016 07:12 |
|
|
|