CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
18.10.2009, 13:10:42
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 37
Beiträge: 3
|
|
Verschiedene Encodings in einer MySQL-DB
Hallo!
Ich sitze an einem kleinen Problem: ich brauche einen XML-Export (für die Portierung zu einem anderen Programm) einer MySQL-Datenbank, der funktioniert soweit auch ohne Probleme. Einziges Problem sind mal wieder die Umlaute und Sonderzeichen.
Die Tabellen sind alle auf UTF-8 eingestellt und wurden mit dem aktuellen Programm auch als UTF-8 eingetragen. Aber die Datenbank gehörte früher zu einem anderen Programm (wurde also schonmal portiert), dass alles in ISO 8859 eingetragen hat. Jetzt hat die Datenbank gemischte Einträge, UTF8 und 8859. Es ist leider nicht möglich einfach nach Datum zu trennen und bis zu einem bestimmten Zeitpunkt von 8859 zu UTF-8 zu wechseln.
Was ich jetzt bräuchte wäre eine Funktion, die untersucht, ob es sich um 8859 oder UTF-8 handelt, und falls nicht UTF8 das ganze in UTF8 umwandelt.
Wie könnte sowas gehen? Umwandeln ist mir klar, aber überprüfen nicht. Da die Tabelle ja in UTF-8 codiert ist, wird mir eine Überprüfung doch immer sagen, dass der Text UTF-8 ist, schließlich wird der Text ja auch in UTF-8 gespeichert, oder nicht?
Für Hilfe wäre ich sehr Dankbar.
nappo
|
15.11.2009, 17:08:33
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 37
Beiträge: 3
|
|
AW: Verschiedene Encodings in einer MySQL-DB
niemand eine idee?
|
15.11.2009, 17:25:37
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Verschiedene Encodings in einer MySQL-DB
Zitat:
Zitat von nappo
niemand eine idee?
|
also. ich glaube du drückst dich ungenau aus. ist nun in der gesamten datenbank utf-8 oder utf-8 und iso... ? redest du wirklich von der gesamten datenbank oder vielleicht nur von einer spalte? also wenn du iso-text in eine spalte einfügst mit utf-8 encoding, ist der text zwar utf-8 aber kaputt, falls er nicht automatisch umgewandelt wird.
und man stellt in der spalte ein welches encoding man will -- und kann nicht bis zu einem datum mal utf-8 haben und dann ab diesem datum iso.
|
16.11.2009, 11:46:27
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 37
Beiträge: 3
|
|
AW: Verschiedene Encodings in einer MySQL-DB
Hallo!
Tut mir Leid, ich versuche es eindeutiger zu erklären.
In einer MySQL Tabelle "Kunde", im Feld "Ansprechpartner" (Kollation latin1_german1_ci) wurde ursprünglich in iso eingetragen, irgendwann aber mit UTF8. Deshalb ist in dem Feld Sowohl die Korrekte Schreibweise z.B. "Müller" zu sehen, aber manchmal auch "Müller". Wenn ich zweiteres in UTF8 umwandle habe ich auch die Korrekte Form, aber wenn ich z.B. in einer Foreach-Schleife jede Zeile aus dem Feld in UTF8 umwandle, werden die richtigen, bereits UTF8 Kodierten Einträge falsch. Ich müsste also quasi überprüfen, ob es sich um die falsche Form handelt oder nicht. Dafür finde ich keine Funktion, da ja die Tabelle als latin1 angelegt ist, kommen auch alle Ergebnisse als latin1 zurück.
Mir fehlt also eine Überprüfung, ob der Text, unabhängig von seiner internen Codierung, UTF8 ist oder nicht.
Ich habe gedacht ich wandle das Feld einfach in Binary um, aber das klappt wohl leider auch nicht weil er dann alles als latin1 in Binary speichert (glaube ich...)
(so in etwa.)
nappo
|
16.11.2009, 15:57:54
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Verschiedene Encodings in einer MySQL-DB
also m.e. nach kannst du anhand des bloßen textes nicht einfach feststellen, welcher zeichensatz das ist, kann mich aber auch irren, das thema encodings ist sehr komplex.
beschwer dich einfach bei dem menschen, der anfängt in ein latin1 feld utf-8 inhalte zu schreiben ohne sie vorher umzuwandeln.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:51:22 Uhr.
|