Admin braucht Hilfe - SQL Datenbank Forum

Blaster

Member
Hallo zusammen,

ich brauche mal fachkundige Hilfe, von jemanden der sich mit SQL Datenbanken auskennt. Im speziellen Fall MySQL - 5.0.45 des Forums.

Ich bin gerade dabei, die neue Forensoftware zu installieren.
Ich bekomme auch dort das Problem mit den Umlauten einfach nicht in den Griff.

Das Problem ist eigentlich bekannt, weiß nur nicht wie ich zu einer Lösung komme. Internetforen, Herstellersupport, alles schon durch......


Kurz Umschreibung des Problemes.
Unbemerkt von mir, oder dem vorigen Admin wurde in einigen Tabellen die Kollation geändert.
Alle Änderungen der Kollation sind wahrscheinlich durch das falsche Aufspielen eines Updates entsanden.

Der ursprüngliche Fehler wurde wohl falsch behoben.
Alle Umlaute vor dem 01.03.2009 haben nur noch ein Sonderzeichen in der Tabelle. Man kann also durch Suchen und Ersetzen diese Zeichen nicht mehr wiederherstellen.

Von da an, gibt es Umlaute mit entsprechenden eigenen Sonderzeichen.
Alle Umlaute in den neuen Beiträge werden irgendwann wieder in die Sonderzeichen transformiert.
Das liegt wohl daran, das die Kollation nicht durchgängig ist. Hier mal UTF-8 dort mal 8859, etc.

Ich muss vor dem Umzug, die Datenbank homogen gestalten, sonst haben wir in der neuen Software wieder das gleiche Problem.

Also wer kennt sich aus?
Wer kann helfen?

Grüße
Blaster
 
Hi Stefan,

habe letztens im Projetk einen SharePoint aufgebaut und da auch das Thema gehabt.
Die 'Anwendung', also die Portaksoftware, hat dort die Vorgabe. die DB wird dementsprechend eingestellt.

Ich brauchte [FONT=&quot]case-insensitive, accent-sensitive, Kana-sensitive, and width-sensitive. Was ist denn bei der Forums-Software der Fall?

Oerst
[/FONT]
 
Moin Stefan,

Generell kenne ich mich mit Datenbankmodellierung relativ gut aus. Wie wäre es denn, Die Datenbank einfach komplett auszulesen, alle Wörter mit Umlauten durch eine Entsprechende Wordlist zu Filtern und diese Umlaute dann direkt einzusätzen und alle Daten via Insert Into in die neue DB rein?

Wordlist:häufiges, zählen, überschüssiger, wörter

bisher:
h#ufiges
z#hlen
#bersch#ssiger
w#rter

--> Wordlist mit Eintrag vergleichen, wenn 90% gleich dann in neue DB schreiben. Und die neue DB mit einem einheitlichen Unicode versehen.

Anmerkungen/Anregungen/Verbesserungsvorschläge -> erwünscht

:01 - grinsen: gruß Jannik
 
Du musst noch nichtmal einen 90%-vergleich machen, sondern kannst einfach die Sonderzeichen durch Wildcards für ein beliebiges Zeichen ersetzen und dann den ersten Treffer aus der Liste nehmen. Es dürfte relativ wenige Fälle geben, wo mehr als ein Wort passt.

Eine einfache Wortlist ist z.B. hier: http://wortschatz.uni-leipzig.de/Papers/top10000de.txt

Man könnte die Suche noch beschleunigen, indem man alle Wörter aus der Liste wirft, die keine Umlaute enthalten.
 
Hallo zusammen,

ich brauche mal fachkundige Hilfe, von jemanden der sich mit SQL Datenbanken auskennt. Im speziellen Fall MySQL - 5.0.45 des Forums.
...
Alle Änderungen der Kollation sind wahrscheinlich durch das falsche Aufspielen eines Updates entsanden.

Der ursprüngliche Fehler wurde wohl falsch behoben.
Alle Umlaute vor dem 01.03.2009 haben nur noch ein Sonderzeichen in der Tabelle. Man kann also durch Suchen und Ersetzen diese Zeichen nicht mehr wiederherstellen.

Von da an, gibt es Umlaute mit entsprechenden eigenen Sonderzeichen.
...
Das liegt wohl daran, das die Kollation nicht durchgängig ist. Hier mal UTF-8 dort mal 8859, etc.
Das wird immer wieder mal gerne falsch gemacht. Da wird fröhlich eine Datenbank mit Zeichensatzkonfiguration "ISO-8859-1" angelegt dann exportiert und in eine Datenbank mit Zeichensatzkonfiguration "UTF-8" importiert. Anschliessend dann vielleicht wieder zurück nach "ISO-8859-1" und schwupps sind sie weg, die Umlaute. Das kommt dann daher, dass ISO-8859-1 nur eine Untermenge von UTF-8 ist. Wird die Konvertierung von UTF-8 nach ISO-8859-1 dann nicht richtig durchgeführt, dann gehen Umlaute und sonstige Zeichen verloren bzw. werden verfälscht.

Wenn man nicht gerade wirklich spezielle Anforderungen (z.B. Verarbeiten von Texten in Japanisch, Kyrillisch, Chinesisch oder Arabisch) oder Gründe für den Einsatz von UTF hat, sollte man UTF (UTF-8, UTF-9, UTF-16, UTF-18, ...) meiden wie der Teufel das Weihwasser. Viele Tools und Forenprogramme sind nicht daraus ausgelegt, dass zwischen one-byte-Chars plötzlich mal ein multi-byte Character erscheint. Probleme sind dann vorgezeichnet. Üblicherweise sind die Zeichensatzkonfigurationen "ISO-8859-1" oder "ISO-8859-15" ausreichend für alle westlichen Sprachen (z.B. Englisch, Deutsch, Französisch, etc.).

...
Ich brauchte case-insensitive, accent-sensitive, Kana-sensitive, and width-sensitive. Was ist denn bei der Forums-Software der Fall?
Microsoft SQL-Server und Sharepoint sind nun wirklich nicht vergleichbar mit einer MySQL Datenbank und vBulletin.
Die von dir angesprochenen Begriffe sind Konfigurationsparameter mit denen festgelegt werden kann, wie der Microsoft Datenbankserver bestimmte Zeichen verarbeitet wenn über diese Zeichen sortiert werden soll.
 
Hallo zusammen,

danke erstmal für die guten Tipps.
Hatte leider bisher keine Zeit mich weiter mit dem Problem zu beschäftigen.
Ich werde das ganze nächste Woche wieder in Angriff nehmen.


Malde mich dann wieder
Grüße
Blaster
 
Zurück
Oben Unten