将泰语字符输入 SAS

Getting Thai Character into SAS

我目前有一个包含泰文字符的 xlsx 文件,它在 excel 中正确显示。

然而,当我在 SAS EG 4.3 中导入此文件时(也在 5.1 中尝试过),泰文字符显示为“???”

这是相同的示例代码

DATA WORK.pthai;
LENGTH F1  ;
FORMAT F1 $UTF8X4. ;
INFORMAT F1 $UTF8X4. ;
INFILE 'C:\Users\rohit_000\AppData\Local\Temp\SEG12960\pthai-507bc48108424b79810743ea724b0861.txt'
    LRECL=4
    ENCODING="WLATIN1"
    TERMSTR=CRLF
    DLM='7F'x
    MISSOVER
    DSD ;
INPUT F1 : $UTF8X4. ;
RUN;

我也试过各种编码,我也遇到了一个错误,说不能从 utf-16le 转换到 wlatin1。

有什么方法可以让这个字符显示在 SAS 表中?

我相信您的 SAS 会话必须使用正确的编码。如果您在与 sas.exe 文件相同的目录中打开 sasv9.cfg 文件,您将看到以下行:

-config "C:\Program Files\SASHome\SASFoundation.4\nls\en\sasv9.cfg"

将 "en" 更改为 "u8" 并重新打开 SAS 并导入文件。

总的来说,留在u8不是一个好习惯,因为它会阻止其他用户打开utf-8编码的SAS数据集。