2016-06-23 4 views
0

Dieses Problem nervt mich jetzt! deshalb frage ich es hier. Ich weiß, dass es viele Artikel und Themen zum Thema Kodierung gibt, aber ich kann die Antwort nicht finden, die ich brauche.Ändern Sie eine Linux-Datei in Encoding-Typ UTF8 ohne Konvertierung von Zeichen

Ziel:
ich zwei MySQL-Tabellen vergleichen möchten, die vollständig identisch Felder und Zeichensätze enthält.
Die Unterschiede werden in einer Datei gespeichert und nach dem

vergleichen importiert werden

Way i do
- MySQL PDO-Verbindung wird mit Variable „gesetzt Namen utf8“
gemacht - Text wird über „file_put_content“ setzen

Problem in die Datei:
der Typ der Datei mit den Unterschieden ist nicht UTF-8 und enthält Zeichen, die nicht das gleiche wie die Quelltabelle sind. Auch nach dem Importieren der Datei in die Datenbank enthält es falsche Zeichen in der Tabelle.

Supposition:
die Quellentabellen enthält nicht UTF-8-Zeichen. Ist das möglich, wenn die Spalte auf utf8 gesetzt ist?
und wenn das stimmt, wie kann ich diese Zeichen zurück zu utf8 konvertieren?

+2

Bitte geben Sie [mcve] –

Antwort

0

Haben Sie versucht, BOM (https://en.wikipedia.org/wiki/Byte_order_mark) am Anfang der Datei hinzuzufügen? Vor dem Aufruf von file_put_contents sollte ein einfaches '\ xEF \ BB \ BF' zu Ihrem Text vorangestellt werden.

+0

Hi dbugxpert; Ja, ich habe es versucht, aber es funktioniert nicht für mich – Moenie

+0

Hallo Moenie, können Sie ein Beispiel für Ihren Code geben? Wie überprüfen Sie den Dateicodierungstyp? – dbugxpert

+0

Ich benutze den Dateibefehl von Linux z. : datei Moenie