CORRECTENCODING=オプション
SASファイルのエンコーディング属性を、SASファイル内のデータのエンコーディングに一致させるように明示的に変更します。
該当要素: |
DATASETSプロシジャのMODIFYステートメント |
構文
MODIFY SAS file </<CORRECTENCODING=encoding-value> >;
オプション引数
</ <CORRECTENCODING=encoding-value> >
ファイル内のデータの実際のエンコーディングに一致させるため、ファイルのディスクリプタ情報に記録されるエンコーディングインジケータの変更を可能にします。各SASファイル名の後のこのオプションには、かっこは使用できません。フォワードスラッシュの後にCORRECTENCODING=を指定する必要があります。次に、例を示します。
modify mydata / correctencoding=latin2;
制限事項 |
CORRECTENCODING=は、SASファイルがデフォルトのベースエンジンであるSAS 9のV9を使用する場合にのみ、使用できます。 |
例: SASセッションエンコーディングとSASファイルエンコーディングを解決するためのCORRECTENCODING=オプションの使用
ファイルのエンコーディングインジケータは、データのエンコーディングとは別にできます。たとえば、SAS 9より前のバージョンで作成されたSASファイルには、エンコーディングインジケータは保存されていません。このようなエンコーディングが記録されていないSASファイルをSAS
9のセッションで開くと、現在のセッションのエンコーディングが割り当てられます。たとえば、データのエンコーディングがデンマーク語EBCDICで現在のセッションのエンコーディングがWestern
Wlatin1の場合、ファイル内のデータの実際のエンコーディングとファイルのディスクリプタ情報に保存されたエンコーディングインジケータは一致しません。この場合、データは正常にトランスコードされず、出力が読み込めなくなる可能性があります。次のMODIFYステートメントを使用し、EDCDICエンコーディングを明示的に割り当てることでこの問題を解決できます。
注: CEDAでは読み取り専用のコピーが作成されます。データを永続的にトランスコードするには、PROC COPYまたはDATAステップでデータをコピーする必要があります。
proc datasets library=myfiles;
modify olddata / correctencoding=ebcdic1142;
quit;