Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
New Contributor
Beiträge: 4
Umlaute Transfer von Windows nach UNIX

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.

Esteemed Advisor
Beiträge: 5.909
Betreff: Umlaute Transfer von Windows nach UNIX

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
New Contributor
Beiträge: 4
Betreff: Umlaute Transfer von Windows nach UNIX

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.

Esteemed Advisor
Beiträge: 5.909
Betreff: Umlaute Transfer von Windows nach UNIX

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
New Contributor
Beiträge: 4
Betreff: Umlaute Transfer von Windows nach UNIX

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)

Frequent Contributor
Beiträge: 108
Betreff: Umlaute Transfer von Windows nach UNIX

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

 

 

New Contributor
Beiträge: 4
Betreff: Umlaute Transfer von Windows nach UNIX

ebenfalls Dankeschön!