2015-10-15 113 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,這個工作我一直在尋找這個解決方案好幾個月! –