2015-10-15 48 views
2

我目前有一个xlsx文件,其中包含泰文字符,并且正确显示在excel中。将泰文字符导入SAS

thai character displayed in excel

然而,当我在SAS EG 4.3导入该文件(同样在5.1试过)泰国字符显示为“???”

After Import in SAS

这里是相同

DATA WORK.pthai; 
LENGTH F1 $4 ; 
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表中显示这个字符?

+0

我想知道,你有一个excel,让你在你的代码中导入一个文本文件。 – kl78

+0

我正在尝试各种选项,所以我试图通过使用txt获取数据里面 –

+1

有一个泰国的编码,请参阅此表:http://support.sas.com/documentation/cdl/en/nlsref/61893 /HTML/default/viewer.htm#a002607278.htm但我从来没有使用它,我想你必须测试它是否有效。 – kl78

回答

1

我相信你的SAS会话必须使用正确的编码。如果您打开在同一目录下的sasv9.cfg文件作为sas.exe文件,你会看到下面这行:

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

变化的“恩”到“U8”,并重新打开SAS和导入文件。

通常留在u8中不是一个好习惯,因为它可以防止其他用户使用UTF-8编码打开SAS数据集。

+0

非常感谢Sarah,这个工作我一直在寻找这个解决方案好几个月! –