Ergebnis 1 bis 5 von 5

Thema: Ungültige Byte-Sequenz für "UTF8"

  1. #1
    muRuS ist offline Neuer Benutzer
    Registriert seit
    20.05.2011
    Beiträge
    19

    Standard Ungültige Byte-Sequenz für "UTF8"

    Hallo an alle,

    ich versuche grad seit mehreren Tagen eine gut gefüllte MySQL Datenbank auf die PostgreSQL Datenbank zu migrieren. Alle möglichen Typumwandlungen habe ich bereits getan. Jetzt hänge ich allerdings noch an meinem hoffentlich letzten Problem bei der Umwandlung.

    Ich bekomme bei psql beim Importieren der Tabellen folgenden Fehler:

    FEHLER: ungültige Byte-Sequenz für Kodierung "UTF8"

    Ich bekomme sehr sehr viele dieser Fehler. Meine Tabellen haben viele bytea-Felder in denen .docx Dateien gespeichert werden, die in Microsoft Word geschrieben wurden. Dort liegt wohl der Hund begraben. Das client_encoding von Postgre ist auf UTF8 eingestellt standardmäßig. Die Dateien sind meines Erachtens auch UTF8 kodiert. Wie gehe ich nun vor? Könnten es deutsche Sonderzeichen sein, die er nicht verarbeiten kann? Wenn ja wie kann ich das umgehen? Das ganze Projekt könnte scheitern wenn ich diese Portierung nicht hinbekomme.

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von muRuS Beitrag anzeigen
    Hallo an alle,

    ich versuche grad seit mehreren Tagen eine gut gefüllte MySQL Datenbank auf die PostgreSQL Datenbank zu migrieren. Alle möglichen Typumwandlungen habe ich bereits getan. Jetzt hänge ich allerdings noch an meinem hoffentlich letzten Problem bei der Umwandlung.

    Ich bekomme bei psql beim Importieren der Tabellen folgenden Fehler:

    FEHLER: ungültige Byte-Sequenz für Kodierung "UTF8"

    Ich bekomme sehr sehr viele dieser Fehler. Meine Tabellen haben viele bytea-Felder in denen .docx Dateien gespeichert werden, die in Microsoft Word geschrieben wurden. Dort liegt wohl der Hund begraben. Das client_encoding von Postgre ist auf UTF8 eingestellt standardmäßig. Die Dateien sind meines Erachtens auch UTF8 kodiert. Wie gehe ich nun vor? Könnten es deutsche Sonderzeichen sein, die er nicht verarbeiten kann? Wenn ja wie kann ich das umgehen? Das ganze Projekt könnte scheitern wenn ich diese Portierung nicht hinbekomme.
    Prüfe, ob das wirklich valides UTF8 ist. Wenn es von MySQL kommt, würde ich da erst einmal Zweifel anmelden. Falls das ein anderer Zeichensatz ist, dann client_encoding passend setzen (für den Import, das Server-Encoding auf UTF8 lassen)

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    524

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Prüfe, ob das wirklich valides UTF8 ist. Wenn es von MySQL kommt, würde ich da erst einmal Zweifel anmelden. Falls das ein anderer Zeichensatz ist, dann client_encoding passend setzen (für den Import, das Server-Encoding auf UTF8 lassen)
    Findet denn für eine bytea Spalte überhaupt ein encoding/decoding statt? Das sollte doch nur auf text Spalten passieren, oder übersehe ich da was?
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  4. #4
    muRuS ist offline Neuer Benutzer
    Registriert seit
    20.05.2011
    Beiträge
    19

    Standard

    @castorp

    Ja das hat mich auch gewundert, warum für ein bytea Feld ein Encoding passiert. Es sollte doch egal sein was dort reingespeichert wird. Meiner Meinung nach soll er einfach nur die Bits speichern und gut ist.

    @akretschmer

    Ja das kann natürlich sein dass die Datei kein UTF8 ist, weil das auch die einfachste Erklärung ist. Ich habe schon geguckt wie ich das Encoding der Microsoft Word docx Datei rausfinden kann aber nichts wirklich dazu gefunden für Windows ausser so ein conding_guesser Script von irgendjemanden. Ich werde da nochmal weiter forschen wie ich es 100pro rausbekomme.

  5. #5
    muRuS ist offline Neuer Benutzer
    Registriert seit
    20.05.2011
    Beiträge
    19

    Standard

    Also "file -i ****.docx" sagt mir "charset=binary".
    Jetzt weiss ich allerdings nicht was ich damit anfangen soll. Jetzt ist auch die Frage ob ich unter Einstellungen im Server das Charset für den ganzen Server ändern muss?!? Was ist denn der Unterschied zwischen Server Encoding und Client Encoding?

    Liebe Grüße
    muRuS

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 03.02.2012, 09:58
  2. Probleme mit Umlauten, ungültige Byte-Sequenz
    Von tomscho im Forum Programmierung
    Antworten: 1
    Letzter Beitrag: 29.03.2011, 10:45
  3. "Group-by" und "max" Funktionen verknüpfen
    Von superguddy777 im Forum SQL
    Antworten: 1
    Letzter Beitrag: 22.08.2007, 08:35
  4. OLD.sum(...) ->record "old" has no field "sum"
    Von Mster im Forum Trigger und Funktionen
    Antworten: 5
    Letzter Beitrag: 18.01.2007, 15:00
  5. ungültige UTF-8-Sequenz
    Von Desian im Forum Allgemeines
    Antworten: 6
    Letzter Beitrag: 10.02.2006, 08:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum