pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: nudels64 in 19 Juni 2013, 01:35:31

Titel: [gelöst] SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 19 Juni 2013, 01:35:31
Hallo,

Händler wird z.B. als hã¤ndler dargestellt. Oder "für" wird so "fã¼r" angezeigt. Bis jetzt hab ich das immer direkt in der Datenbank korrigiert und in den Konfigdateien sehe ich leider nicht durch.


Lieben Gruß Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 19 Juni 2013, 02:16:42
bisheriger Lösungsansatz: Habe in die track.php folgende Zeilen eingefügt:


$keywordString =  str_replace('ãÅ"', 'Ü', $keywordString);
$keywordString =  str_replace('ã ¶', 'ö', $keywordString);
$keywordString =  str_replace('ãâ€"l', 'Ö', $keywordString);


Jetzt bastle ich grad am scharfen "ß".
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: AlternativeComputing in 19 Juni 2013, 03:09:19
Das ist ein Sprachkodierungs Problem.

UTF-8/ISO 8859-1.

Gibt es da Sprachdateien?
Wenn ja, kannst Du mal die Deutsche hier anhängen?
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 19 Juni 2013, 08:34:29
Hallo Peter,

danke für die schnelle Reaktion. Der Mod hat keine Sprachdateien. Die Stelle in der track.php die es betrifft sieht so aus:

                          $keywordString = str_replace('+',' ', urldecode($keywordString));
                          $keywordString = str_replace(array('%C3%BC','%20','%E4', '%C4', '%FC','%DC','%F6','%D6','%DF', '%80'),
    array('¸', ' ' ,'‰',   'ƒ'  ,'¸'   ,'‹'  , 'ˆ', '÷',   'fl',   'Ä'), $keywordString);

    $umlaute = array("%C3%BC", ",Ǩ", ",?¨", "¬Æ", "√Ñ", "¬≤", "√ñ", "√ü","√©", "√ú", "√∂", "√§", "√º");
    $ersetzung = array("¸", "Ä", "Ä", "Æ", "ƒ", "≤", "÷", "fl","e¥", "‹", "ˆ", "‰", "¸");
    $keywordString = str_replace($umlaute,$ersetzung,$keywordString);
    $keywordString =  str_replace('"', ' ',$keywordString);
    $keywordString =  str_replace("'", " ", $keywordString);
    $keywordString =  str_replace('%22', ' ', $keywordString);
    $keywordString =  str_replace('++', ' ', $keywordString);
    $keywordString =  str_replace('%2B', ' ', $keywordString);
    $keywordString =  str_replace('s%26s', '&', $keywordString);
    $keywordString =  str_replace('%C3%9F', 'fl', $keywordString);
    $keywordString =  str_replace('%C3%A4', '‰', $keywordString);
    $keywordString =  str_replace('  ', ' ', $keywordString);
    $keywordString =  str_replace('/', '', $keywordString);
//neu
    $keywordString =  str_replace('ãÅ"', 'Ü', $keywordString);
    $keywordString =  str_replace('ã ¶', 'ö', $keywordString);
    $keywordString =  str_replace('ãâ€"l', 'Ö', $keywordString);


Der Mod ist von Webfan. "Ä" und "Ü" habe ich wohl hinbekommen. Die Datenbank hab ich mal bereinigt. Sieht jetzt übersichtlicher aus.
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: Webfan in 19 Juni 2013, 11:21:42
Hallo nudels64,
der Code ist schon etwas älter  :red:


$keywordString = str_replace(array('%C3%BC','%20','%E4', '%C4', '%FC','%DC','%F6','%D6','%DF', '%80'),
     array('¸', ' ' ,'‰',   'ƒ'  ,'¸'   ,'‹'  , 'ˆ', '÷',   'fl',   'Ä'), $keywordString);

   ... bis...

   $keywordString = str_replace($umlaute,$ersetzung,$keywordString);

Ich denke das zumindest dieser Quatsch entfernt werden könnte.
[/li]


[li]
Du könntest noch versuchen nach
[/li][/list] $keywordString = str_replace('+',' ', urldecode($keywordString));
einzufügen:
$keywordString = htmlentities($keywordString);
Wie AlternativeComputing schon richtig gepostet hat handelt es sich um ein Codierungsproblem.
Leider habe ich in absebahrer Zukunft keine Zeit um dieses Modul upzudaten, helfe aber gerne bei Fragen weiter.
Ich hoffe das Dir die obigen Antworten helfen (ggf. könnte auch iconv von Nutzen sein?).
Wenn der Input "richtig" ankommt jedoch falsch angezeigt wird könnte eine Umstellung der DB-Tabellen-Kollation ausreichen.

mfg
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 19 Juni 2013, 11:34:05
Mit Kollation kann ich nichts anfangen. Das Modul von Dir ist das Aktuellste, welches bei Dir zu laden war. Warum da dann noch der Code drin steht, der gelöscht werden soll, müßte dann auch in der Installationsanleitung stehen. Mir fehlt jetzt eigentlich nur noch die richtige Darstellung des "ß", so hoffe ich.

Liebe Grüße Andreas

EDIT: Die Darstellung des "ß" scheint auch zu klappen. Den Codeschnippsel hab ich entfernt. Ich teste mal.
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: Webfan in 19 Juni 2013, 11:49:30
Hallo nudels64,
der Code soll nicht gelöscht werden, nur eine mögliche Idee das Problem zu lösen, bzw. für künftige Versionen, welche leider derzeit aus zeitlichen Gründen jedoch nicht absehbar sind.


ZitatMit Kollation kann ich nichts anfangen
https://www.google.de/#q=datenbank+kollation&ei=Wn3BUdvLBZO3hAf2ooCIDA&start=0&sa=N&bav=on.2,or.r_qf.&bvm=bv.47883778,d.Yms&fp=cd1c3b4f1f562de2&biw=1024&bih=563

Das Script wurde wenn ich mich recht errinere mit einer ISO-Kollation geschrieben, neue Pragmas sollen wie ich es verstanden habe UTF-8 unterstützen, ich rate mal das Dein PMX auch UTF-8 als Kodierung angibt?
Wenn Du z.b. in phpmyadmin eine Tabelle auswählst --> Operationen --> Kollation:
Hier kannst Du die Kollation einsehen, verändern.

ZUr Zeit liegt wie gesagt kein Update des Scriptes an, evtl. kann ich je nach Nachfrage das Script überarbeiten/neu coden...?

Für Fragen stehe ich gerne zur Verfügung.

mfg
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 19 Juni 2013, 11:56:45
Jupp, ich arbeite mit UTF-8 Codierung. Ich finde das Script genial. Man muss es nur etwas pflegen und seinen Bedürfnissen anpassen, damit es nicht das Layout zerreißt.
Ich habe jetzt mal alle Suchbegriffe mit Umlauten, die auf der Seite zu finden sind getestet. Bis jetzt sind die Fehler nicht wieder aufgetaucht.

Lieben Gruß Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 20 Juni 2013, 15:55:00
Hallo Webfan,

reicht es die Zeile $keywordString = htmlentities($keywordString); einzufügen oder muss ich hier zusätzliche Parameter setzen?

Lieben Gruß Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: Webfan in 20 Juni 2013, 22:14:47
Halllo nudels64,
ich hab grad das Script nicht im Kopf, kann später mal schauen, je nach ob in keywordstring bereits der q parameter enthalten ist könnte sich hier

   urldecode

anbieten.

Viele Grüße
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 20 Juni 2013, 22:19:59
So schauts im Moment aus:

// das kann hier noch verbessert werden..?!?:
     $keywordString =  str_replace('+',' ', urldecode($keywordString));
     $keywordString = htmlentities($keywordString);
     $keywordString =  str_replace('"', ' ',$keywordString);
     $keywordString =  str_replace("'", " ", $keywordString);
     $keywordString =  str_replace('%22', ' ', $keywordString);
     $keywordString =  str_replace('++', ' ', $keywordString);
     $keywordString =  str_replace('%2B', ' ', $keywordString);
     $keywordString =  str_replace('s%26s', '&', $keywordString);
     $keywordString =  str_replace('%C3%9F', 'fl', $keywordString);
     $keywordString =  str_replace('%C3%A4', '‰', $keywordString);
     $keywordString =  str_replace('  ', ' ', $keywordString);
     $keywordString =  str_replace('/', '', $keywordString);
$keywordString =  str_replace('ãÅ"', 'Ü', $keywordString);
$keywordString =  str_replace('ã ¶', 'ö', $keywordString);
$keywordString =  str_replace('ãâ€"l', 'Ö', $keywordString);;
                                 }
                              }
                              //eof if keyword detected


Wäre schön wenn Du da noch einmal drüber sehen könntest.

Lieben Gruß Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 28 Juni 2013, 02:10:49
Ich hab mich zu früh gefreut. Die Umlaute werden trotz aller Bemühungen falsch dargestellt. Ich hab keine Lösung mehr die ich testen könnte.
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: AlternativeComputing in 28 Juni 2013, 03:12:34
Damit http://php.net/manual/de/function.utf8-encode.php mal probiert?
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 28 Juni 2013, 08:33:07
Ne Peter, so bewandert bin ich nicht um die Funktion komplett umzubauen im Script.
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: Webfan in 28 Juni 2013, 13:54:20
Möglicherweise betrifft die Änderung des obigen codes nur neu generierte tags und nicht bestehende?

Zitat$keywordString = utf8_encode($keywordString);

Bin noch nicht zum nachschauen gekommen, es könnte sich aber um einen urlencodierten get paramater handeln? /?q=suchwort
$keywordString = urldecode($keywordString);

Unabhängig davon, wie AlternativeComputing schon sagt wird der Fehler mit UTF-8 zu tun haben...

Leider bin ich derzeit zeitlich in andere Projekte eingebunden, stehe ggf. für einen kleinen Auftrag zur Verfügung, ein Update dieses Moduls ist zunächst so zur Zeit nicht in meinem Programm.

mfg

Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 28 Juni 2013, 14:31:43
Die Tabellen habe ich schon mehrmals geleert. Was meinst Du mit kleinen Auftrag? Die Seite betreibe ich als Hobby.
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 28 Juni 2013, 21:53:56
Habe jetzt wohl eine Lösung gefunden:

Die Tags werden jetzt korrekt angezeigt
http://awesomescreenshot.com/0641g6rz0b (http://awesomescreenshot.com/0641g6rz0b)

und auch korrekt in die Tabelle geschrieben

http://awesomescreenshot.com/08f1g6sl28 (http://awesomescreenshot.com/08f1g6sl28)

Ich habe die Tabellen komplett gelöscht und neu angelegt. Anschliessend als Kollation uff8_general_ci und nicht utf8_bin umgestellt.
In der Block-Datei hab ich header('Content-Type: text/html; charset=UTF-8'); (ob das zur Lösung beiträgt teste ich noch) eingefügt. Wichtig scheint nach dem Anlegen der Tabellen die Umstellung der Kollation auf utf8_general_ci zu sein.

Liebe Grüße
Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: nudels64 in 30 Juni 2013, 21:44:38
Hier kann geschlossen werden. Danke für die Hilfestellungen.

Lieben Gruß Andreas
Titel: Re:SUMATAGGED 5.01 Umlaut Ä und Ü werden falsch angezeigt
Beitrag von: AlternativeComputing in 30 Juni 2013, 23:58:22
Klick unten auf gelöst  ;)