[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[XSearch] Suche mit Umlauten - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

[XSearch] Suche mit Umlauten

20. Mär 2010, 12:50

Liebe REDAXO-Fans,

wenn ich ein paar Testsuchen durchführe, werden keine Ergebnisse angezeigt, sofern mein gesuchter Testbegriff einen Umlaut enthält. Kann das sein? Wenn ja, gibt es eine Lösung dafür?

Viele Grüße

glowy

Benutzeravatar
timo.huber
Beiträge: 305
Registriert: 22. Dez 2009, 13:26

20. Mär 2010, 13:25

Tach

schau dir mal diesen Link an:
Wörter mit Umlauten und Sonderzeichen werden bei der Suche nicht gefunden. Warum ist das so und wie kann ich das beheben?
http://wiki.redaxo.de/index.php?n=R4.XSearch#faq2

mfg
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}

glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

20. Mär 2010, 20:20

Vielen Dank, sieht vielversprechend aus. Wie kann ich in PHPMyAdmin denn nachträglich noch die Kodierung ändern? Geht dies überhaupt? Wo finde ich die Funktion, in der ich den Wert ändern muss?

Vielen Dank und liebe Grüße

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

20. Mär 2010, 20:47

Hallo glowy!

Dein Problem hängt (wahrscheinlich) nicht mit der Kodierung der Daten in der Datenbank zusammen.

Wie sehen denn die Umlaute aus, die in der Datenbank landen?
Und wie kommen deine Texte in diese Datenbank?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

22. Mär 2010, 23:04

In der Tabelle "rex_article" stehen "normale "Umlaute" in den Feldern, z. B. "ä" oder "ü". Im Gegensatz dazu steht in "rex_article_slice" "ä" oder "ü".

Was meinst du mit "Wie kommen die Texte in die Datenbank"?

Vielen Dank schon mal für die Hilfe.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

22. Mär 2010, 23:10

Hallo glowy!
glowy hat geschrieben:In der Tabelle "rex_article" stehen "normale "Umlaute" in den Feldern, z. B. "ä" oder "ü". Im Gegensatz dazu steht in "rex_article_slice" "ä" oder "ü".
Das ist der Grund, warum Umlaute nicht gefunden werden.
glowy hat geschrieben:Was meinst du mit "Wie kommen die Texte in die Datenbank"?
Damit meinte ich, dass du TinyMCE verwendest, richtig?
Wenn du UTF-8 verwendest, solltest du aber dringend vermeiden, dass Zeichen mit ihren Entitäten ersetzt werden.
Wie das geht, hat Andreas erklärt: http://forum.redaxo.de/sutra70918.html#70918
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

25. Mär 2010, 22:58

Derzeit steht im Header des Templates

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

Wie sieht denn jetzt der einfachste Weg aus, um das Problem mit den Umlauten in der Suche bzw. generell zu lösen und dafür zu sorgen, dass auch französische Sonderzeichen, spanische und deutsche korrekt angezeigt werden?

Viele Grüße, glowy

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

25. Mär 2010, 23:11

glowy hat geschrieben:Wie sieht denn jetzt der einfachste Weg aus, um das Problem mit den Umlauten in der Suche bzw. generell zu lösen und dafür zu sorgen, dass auch französische Sonderzeichen, spanische und deutsche korrekt angezeigt werden?
Der Einfachste: Behandle die Sucheingabe ebenfalls mit htmlentities.

Der Beste: Stelle auf UTF-8 um und vermeide jegliche Umwandlung von Zeichen bei der Abspeicherung. Erst bei der Ausgabe muss kontextgerecht maskiert werden.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

11. Mai 2010, 12:13

Die Anpassung im Code in der Datei class.rex_sql.inc.php habe ich jetzt gemacht, sie ändert allerdings nichts am Problem. Würde jetzt gern das mit TinyMCE ausprobieren, muss ich hierfür zwangsläufig den etwas umfangreicheren Codeschnipsel in die Modul-Eingabe einfügen (s. http://forum.redaxo.de/sutra70918.html#70918)?

Verstehe hier nicht genau, wo ich was einfügen muss, damit die Zeichen unmaskiert gespeichert werden.

Komischerweise funktioniert bei der deutschen Version die Umlautanzeige, klicke ich allerdings auf die englische Flagge per Sprachwähler, werden statt 'ä' und 'ü' komische Zeichen angezeigt.

Vielen Dank nochmal für eure Hilfe. :)

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

11. Mai 2010, 23:10

Hi glowy!

So umfangreich ist die Änderung des Moduls ja gar nicht. Du musst einfach nur die zusätzlich Konfiguration an die Funktion übergeben.

Ich nehm´ mal das erweiterte Beispielmodul als Grundlage:

Code: Alles auswählen

<strong>Fliesstext:</strong><br />

<?php
if (class_exists('rexTinyMCEEditor'))
{
$wysiwigvalue =<<<EOD
REX_VALUE[1]
EOD;

  // Neue Instanz der Klasse
  $tiny = new rexTinyMCEEditor();

  // Buttons setzen (hier alle Buttons der Standardkonfiguration)
  $tiny->buttons1 = 'bold,italic,underline,strikethrough,sub,sup,|,forecolor,backcolor,styleselect,formatselect,|,charmap,cleanup,removeformat,|,preview,code,fullscreen';
  $tiny->buttons2 = 'cut,copy,paste,pastetext,pasteword,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,link,unlink,redaxoMedia,redaxoEmail,anchor,|,advhr,image,emotions,media,syntaxhighlighter';

  // zusaetzliche Buttons fuer Undo/Redo, Tabellen und Template
  $tiny->buttons3 = 'undo,redo,|,tablecontrols,visualaid,|,template,help';
  $tiny->buttons4 = '';

  // Breite und Hoehe des Editors
  $tiny->width = 555;
  $tiny->height = 350;

  // Valides XHTML generieren true/false
  $tiny->validxhtml = false;

  // Hier koennen eigene Werte ueber die Standardwerte ueberlagert werden
  //
  // Achtung:
  // bei einigen Parametern (z.B. Plugins) muss der Wert aus der
  // Standardkonfiguration  e r w e i t e r t  werden
  // Hier als Beispiel erweitert um die Plugins syntaxhighlighter, table, template
$mytinyconfig =<<<EOD
	plugins : 'advhr,advimage,advlink,contextmenu,emotions,fullscreen,inlinepopups,media,paste,preview,redaxo,safari,visualchars,syntaxhighlighter,table,template',
	skin : 'o2k7',
	skin_variant : 'silver',
	entity_encoding : 'raw'
EOD;

  // eigene Konfiguration übernehmen
  $tiny->configuration = $mytinyconfig;

  // WYSIWYG-Content zuordnen
  $tiny->content = $wysiwigvalue;

  // Id des REX_VALUES zuordnen
  $tiny->id = 1;

  // WYSIWYG-Editor anzeigen
  $tiny->show();
}
else
{
  echo rex_warning('Dieses Modul ben&ouml;tigt das "TinyMCE"-Addon!');
}
?>
Hier ist nur die Zeile mit entity_encoding : 'raw' hinzugekommen.

Du hast jetzt aber ein größeres Problem: Du musst nämlich alle Slices, in denen der Tiny eingesetzt wird, editieren und neu abspeichern, damit die Änderungen in die Datenbank übernommen werden. =)

Achja, und ganz wichtig: Die Seite muss auf UTF-8 laufen.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

glowy
Beiträge: 56
Registriert: 5. Nov 2008, 14:49

15. Mai 2010, 00:35

Keine Ansätze?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

17. Mai 2010, 08:11

glowy hat geschrieben:Keine Ansätze?
Ich bin etwas verwirrt. Den Ansatz habe ich dir doch geliefert, oder?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

wolfgang
Beiträge: 126
Registriert: 20. Okt 2005, 20:52
Wohnort: 23966 Tressow
Kontaktdaten: Website

13. Jun 2010, 10:55

Die kompletten Inhalte lassen sich sehr einfach konvertieren, indem man einen sql Export von der rex_article_slice macht und diese komplett mit einem kleinen php skript behandelt:

Code: Alles auswählen

<?
$datei = 'pfad/zu_deiner/datei';
$contens = file_get_contents($datei);
$contens = html_entity_decode($contens,ENT_NOQUOTES,'UTF-8');
file_put_contents($datei,$contens);
?>
Und diese Datei dann wieder in sql importiert. Klappt prima.
Gruß Wolfgang

Zurück zu „Allgemeines [R4]“