notepad ++ zeigt ucs-2LE, während ubuntu die DATEI [Datei] zeigt, UTF-16LE, ich bin verwirrt?
Ich versuche, die Datei zu konvertieren erzeugt aus einem mssql
auf utf-8. Wenn ich öffnen Sie die Ausgabe, die er mssql
mit notepad++ in windows server 2003 erkennt die Datei als UCS-2LE
ich kopierte die Datei auf einem Ubuntu-Rechner mit file [file]
es zeigt, dass die Codierung ist UTF-16LE
.
Wirklich verwirrt, es muss einen Unterschied in der Codierung, da die Namen Verschieden sind.
Aber warum sehe ich dies in der gleichen Datei. Seine eine .csv
Datei generiert aus der mssql-query.
- Alte Frage, aber ich denke, die Antwort von benw ist richtig und sollte so markiert werden, dass diese - oder gibt es noch etwas "offener" für Sie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für die meisten Teil, UTF-16 und UCS-2 sind die gleiche Sache. Es gibt keinen Unterschied.
Was es bedeutet ist, dass jedes Zeichen zwei Byte breit. "LE" steht für little endian, d.h. jeder zwei-byte-Zeichen gespeichert wird mit dem low-byte zuerst.
Wenn Sie wollen konvertieren zu UTF-8, Notepad++ klicken Sie auf
Convert to UTF-8
im Encoding-Menü, dann "speichern".Wenn Ihr andere Programme choke auf die Datei, nachdem dies zu tun, oder sehen Sie zwei sinnlose Zeichen am Anfang der Datei, klicken Sie dann auf
Convert to UTF-8 without BOM
statt.file [file]
im Ubuntu zeigt mir Utf-16LE? wenn ich die Liste von Codierungeniconv -l
erkennt, ich kann sehen, sowohl die Kodierungen zur Verfügung. Nun möchte ich wissen, wenn ich konvertieren, aus dieser Codierung zuutf-8
Codierung, welche Codierung soll ich verwenden als input-Datei-Codierung?iconv -f [input encoding] -t [output encoding] [file]
. Wie würden Sie mir empfehlen in diesem Fall?ANSI as UTF-8
.