logo
 
 Hallo Gast

 bild bild bild
in den letzten 90 sek. waren online:  Server-Zeit:06:00
 
navigate

 bild
 bild
 bild
 bild
 bild
 bild
 bild
 

nützlich/informativ
Kontakt
Top-Poster
Tages-postarchiv
Die letzten 300 Posts
Gästebuch
User-Galerie
Adminpanel Help
Suchhistory
aktuelle Themen

 

  Themen lesen ja
  Themen erstellen nein
  Antworten erstellen nein
  Umfragen erstellen nein
  UPB-Code ist an
  HTML-Code ist aus
  Mod wird per mail verständigt

Autor Thema: Deutsche Umlaute
  
    
RolWg
neuling
bild
ID # 50


  erstellt: 26. Apr 2017 19:48    zitat   bild pm  bild mail      
Hallo zusammen,

um eine möglichst fehlerfreie Import-csv für einen größeren, zu importierenden Datensatz von Adressen zu erstellen, versuche ich gerade, ein paar Beispiel-Adressen aus AdresSQL zunächst einmal korrekt in eine CSV zu exportieren.

Um Fehlerquellen durch AdresSQL auszuschließen, habe ich mit PHPMyAdmin eine CSV der Tabelle 'adressen' direkt aus der DB exportiert (Ausgabe Zeichencodierung: utf-8, Format: CSV).

Obwohl die Datenbank/Tabelle 'adressen' richtig mit utf8_unicode_ci codiert ist, bekomme ich nach dem Excel-Import der CSV nicht die korrekten deutschen Umlaute (ß, ä, ö, übild.

Was tun?

Beiträge: 4 | Mitglied seit: Apr 2017 | IP: gespeichert

Autor Thema: Deutsche Umlaute
  
    
sysop
Administrator
bildbildbildbildbildbild
ID # 1

bild

ICQ: sysop

  erstellt: 27. Apr 2017 08:01    zitat   bild pm  bild mail  bild hp      
Hallo

Das Problem klingt nach einer falschen Kodierung beim speichern der Import-CSV Dastei.

Excel möchte schon beim öffnen der Daten wissen, welche Kodierung zu verwenden ist. Ist keine extra Kodierung angegeben, geht Excel von ISO-8859 aus und zeigt die Umlate nach dem Import schon falsch an.
Beim bearbeiten der Daten musst du dann noch darauf achten, dass die CSV-Datei auch UTF-8 kodiert gespeichert wird. Windows verwendet zum speichern standardmässig ebenfalls ISO-8859 oder eine der Windows-Kodierungen und muss zu UTF-8 erst bewusst überredet werden.

Nutzt du für den Import den adresSQL-Importer oder Phpmyadmin?

Mit adresSQL-Import:
Beim adresSQL-Import habe ich das Windows-Kodierungsproblem schon berücksichtigt und einen Schalter zum Umwandeln der Daten eingebaut.
Rechts Neben dem Auswahlpunkt für die Kopfzeile kannst du auswählen, ob die Daten beim Import UTF-8 encoded oder decoded werden sollen. Voreinstellung ist Nichts de/encoden.
Encoden würde einen Windows-Zeichensatz (ISO-8859-1) auf UTF-8 umwandeln (das ist die Option, die du vermutlich brauchst), decode würde einen UTF-8 Zeichensatz zu ISO-8859-1 umwandeln.
Je nach Auswahl zeigt dir die Vorschau dann, wie Umlaute nach dem Import aussehen und ausgegeben werden. Damit sollte man korrekte Umlaute hinbekommen. Zeigt die Vorschau immer falsche Umlaute, ist die Dateikodierung der Import-Datei schlicht nicht korrekt und muss geändert werden.

upload/464482742017.png
Der adresSQL-Import erlaubt übrigens auch LDIF-Importe (z.B. Thunderbird Kontakte) und konvertiert die Daten.

Mit phpmyadmin:
Dort kann man für den Import verschiedene Kodierungen einstellen, allerdings gib es keine Vorschau, wie die Daten letztendlich angezeigt werden.

PS
Exportieren kann man übrigens auch mit adresSQL aus der Administration.
Entweder über Auswertungen und Tools -> Formatierter Export. Dort wird eine CSV mit allen Adress-Standardfeldern exportiert (eigene angelegte Felder werden NICHT berücksichtigt), oder (wenn man eigene Felder hinzugefügt hat und diese exportieren möchte) über die Berichte.
Einfach eine neue Abfrage erstellen (Berichtsabfrage editieren) wie im Bild, und es werden alle Felder (inkl der selbst angelegten) der Adresstabelle exportiert.

upload/43592742017.png

-----------------------
Gruss Sys ;-)

Beiträge: 143 | Mitglied seit: Nov 2012 | IP: gespeichert

Autor Thema: Deutsche Umlaute
  
    
RolWg
neuling
bild
ID # 50


  erstellt: 28. Apr 2017 15:55    zitat   bild pm  bild mail      
Oh - zunächst vielen Dank für die ausführliche Antwort und
ja, es ist ein Speicherproblem.

Durch einiges Herumprobieren weiß ich jetzt den Weg und
möchte ihn hier nicht vorenthalten.

1) Export der Muster-Daten aus AdresSQL durch phpMyAdmin
(wie gesagt: die DB / Tabelle ist in unicode-utf8 codiert):

- Tabelle 'adressen' anzeigen
(nicht: alle auswählen und exportieren, sondern)
in Fußzeile: Operationen für das Abfrageergebnis : Exportieren
(sonst wird nur der neueste Datensatz exportiert)
- Art des Exports: Angepasst – zeige alle möglichen Optionen an
- Ausgabe: Zeichencodierung der Datei: --> iso 8859-1 (!! nicht: utf-8 !!)
- Format: CSV-Daten für Excel
- Formatspezifische Optionen: Spaltennamen in die erste Zeile setzen
(sonst werden nicht alle Spaltennamen exportiert)
- Formatspezifische Optionen: Excel-Version (bei mir: Excel 2008/Mac)
- Datei speichern (nicht direkt in Excel öffnen)

2) Import der Muster-Daten in Excel

- Datei \ Importieren
- CSV-Datei importieren (Datei auswählen)
- Ursprünglicher Datentyp: getrennt
- Dateiursprung (!! Windows ANSII !! auch für Mac-Excel), weiter
- Trennzeichen: Komma, weiter
- Datumsspalten als Datum formatieren, Telephon-Spalten (mit führender "+49.."
als Text formatieren
- Fertig stellen
- Neues Blatt, OK

3) Anpassen der Excel-/CSV-Datei
- Spaltenköpfe der zu importierenden Daten anpassen
- Datumsspalten formatieren (xx.xx.xx?)
- Telefon-Spalten formatieren (+49xxxxxxx?)

4) Exportieren der Excel-Datei als CSV-Datei
- Datei speichern unter ... (kommagetrennte Werte (.csv)
!! Achtung: Die Werte sind dann tatsächlich _semikolon_getrennt !!
- Öffnen mit Text-Editor (bei mir: Text-Wrangler)
- Save as [dateiname] --> Encoding: Unicode UTF-8

5) Importieren der CSV-Datei mit phpMyAdmin
- zu importierende Datei aussuchen
- Zeichencodierung der Datei: utf-8
- Format: CSV
- Formatspezifische Optionen: Spalten getrennt mit ";" ( !! )

O.K.

Welch' ein Aufwand !!! bild

Ich hoffe, es nützt wem bild

Beiträge: 4 | Mitglied seit: Apr 2017 | IP: gespeichert



 

forum.mn-portal.at | Boardregeln und Datenschutzerklärung | Impressum | danke an
ip an session binden ist eingeschalten ! die gebundene ip lautet:
tagesklicks = 0 gesamt klicks = 0 / bots in betrachter mitgezählt