SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.10.2009, 12:10:42
nappo nappo ist offline
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
Mit Zitat antworten
  #2  
Alt 15.11.2009, 16:08:33
nappo nappo ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 37
Beiträge: 3
AW: Verschiedene Encodings in einer MySQL-DB

niemand eine idee?
Mit Zitat antworten
  #3  
Alt 15.11.2009, 16:25:37
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Verschiedene Encodings in einer MySQL-DB

Zitat:
Zitat von nappo Beitrag anzeigen
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.
Mit Zitat antworten
  #4  
Alt 16.11.2009, 10:46:27
nappo nappo ist offline
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
Mit Zitat antworten
  #5  
Alt 16.11.2009, 14:57:54
feuervogel feuervogel ist offline
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.
Mit Zitat antworten
Antwort

Stichworte
encoding, gemischte zeichensätze, utf-8


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL 4 "große" Abfragen coder90 MySQLi/PDO/(MySQL) 0 06.09.2008 13:45:08
MySQL Performance bei Zugriff über verschiedene Webserver? janpeters MySQLi/PDO/(MySQL) 0 08.06.2007 11:06:44
Serverumzug, doch verschiedene Versionen der MySQL Datenbank kutz MySQLi/PDO/(MySQL) 4 19.02.2007 20:38:24
Mysql startet nicht oberonal MySQLi/PDO/(MySQL) 3 24.11.2006 09:41:31
MySQL Page Script. Problem. dtone MySQLi/PDO/(MySQL) 8 15.10.2006 14:58:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:51:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt