对于unicode字符

时间:2016-11-11 09:11:06

标签: utf-8 sas transcoding

我的SAS会话详情如下: -

ENCODING = LATIN1
LOCALE = EN_US

我正在阅读加密的客户名称,使用具有的java代码对其进行解密 已经使用javaobj在sas代码中实现。

data outlib.X1 ( ENCODING =  'asciiany' );
set inlib.INP1 (ENCODING = 'asciiany' )   end=eof;
length decryptedvalue  $100;
declare javaobj jObj("<jarname>");
jObj.callstringmethod("<method>", FIRST_NAME , decryptedvalue);
run;

jObj.callstringmethod在字符串decryptedvalue中返回解密的first_name值。我在SAS代码的末尾执行proc导出,并将所有解密的名称存储为csv文件。

在上一次运行中,一些名称具有特殊字符,例如真实。

这导致SAS执行失败并出现以下错误: -

  

错误:第30行第2行的转码失败。

     

错误:数据步骤组件对象失败。在执行阶段中止。

有没有办法让SAS会话(LATIN1)接受这些unicode字符?我可以订 decryptedvalue变量的编码?我不想使用sas_u8在unicode中运行我的整个SAS会话。我只想接受这些角色 即使将这些有问题的值视为空白也是可以的。

我已经尝试过以下事项: -

  1. 为libname设置inencoding = utf8

  2. 为输入数据集创建ENCODING ='asciiany'。

  3. 任何输入都会有用。

    提前致谢!

0 个答案:

没有答案