- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hallo Zusammen,
ich versuche Daten von Windows nach UNIX zu übertragen. Dabei will ich PROC CPORT und CIMPORT nutzen.
unter Windows nutze ich folgenden Code:
filename ccc "....";
Proc Cport Data=maps.germany2 file ccc;
run;
Unter Unix nutze ich folgenden Code:
Proc Cimport
infile="..."
lib=Work memtype=data;
run;
Das funktioniert soweit. Allerdings geht dabei die korrekte Anzeige der Umlaute verloren? (unter Windows ist das Encoding WLATIN1 und unter UNIX utf-8).
Weiß jemand was hier zu tun ist?
Vielen Dank,
freundliche Grüße
Benedikt M.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Das Hindernis sind die Encodings, WLATIN1 ist single-byte, UTF-8 ist Multi-Byte, und da scheitern einfache Konversionsschritte.
Eine Möglichkeit wäre es, das Dataset einfach binär nach UNIX zu kopieren und zwar in eine Library, die man mit LIBNAME xxxx 'xxxxx' ENCODING=WLATIN1; zuweist. Habe ich aber mangels Notwendigkeit noch nicht probiert.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hallo Herr Bremser,
vielen Dank für die hilfreiche Antwort. Lese ich die Datei wie folgt ein:
data mm;
set "/opt/sas/daten/pb-race/krm/data/transfer/uc4filetrans/input/germany2.sas7bdat"
(encoding=WLATIN1);
run;
kommt sie bezüglich der Umlaute richtig an. Wissen Sie, ob man diesem Weg trauen kann,
oder kann es bei diesem Übertragungsweg zu anderen Defekten an den transferierten Dateien kommen.
Nochmals Danke,
freundliche Grüße
Benedikt M.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
SAS ist üblicherweise sehr "spendabel" mit Meldungen, wenn man etwas Riskantes macht. Wenn keine NOTES außer den üblichen beim Lesen auftauchen (außer ein Hinweis aufs Transcoding), sehe ich keine Gefahr.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
nochmals Danke - (PS: das SAS-Log mit und ohne Encoding ist identisch, aber ohne Encoding ist die Datei bezüglich der Umlaute nicht so wie ich sie haben wollte)
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Wenn ich das richtig sehe, muss die Sitzung, die das Transfer-File erstellt (mit proc cport) und die Sitzung, die den Import vornimmt (proc cimport) das gleiche Encoding haben.
hier ein Hinweis aus der englischen SAS-Doku:
https://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/a003200039.htm#a003209585
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
ebenfalls Dankeschön!