Database 具有特殊字符的SAS输入数据

Database 具有特殊字符的SAS输入数据,database,import,sas,special-characters,Database,Import,Sas,Special Characters,我正在尝试将一些dat文件(逗号分隔)导入SAS大学。但是,一个变量包含特殊字符(例如法语重音)。大多数被替换为�, 但也有一些观察有一些问题 问题示例: 数据中的原始观察结果如下所示: Crème Brûlée,105,280 运行以下命令: DATA BenAndJerrys; INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER; INPUT flavor_name :$48. po

我正在尝试将一些dat文件(逗号分隔)导入SAS大学。但是,一个变量包含特殊字符(例如法语重音)。大多数被替换为�, 但也有一些观察有一些问题

问题示例:

数据中的原始观察结果如下所示:

Crème Brûlée,105,280
运行以下命令:

DATA BenAndJerrys;
    INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER;
    INPUT flavor_name :$48. portion_size calories;
RUN;
它有一个问题:

flavor_name=Cr�me Br�l�e,105 portion_size=280 calories=
如您所见,值105(即分量大小的值)与风味名称的值合并,热量值280分配给分量大小


如何解决此问题并允许SAS导入具有特殊字符的数据

尝试告诉SAS读取文件时使用的编码

我使用Windows记事本编辑器将示例行复制并保存到文本文件中

%let path=C:\Downloads ;
data _null_;
  infile "&path\test.txt" dsd encoding=wlatin1;
  length x1-x3 $50 ;
  input x1-x3;
  put (_all_) (=);
run;
结果显示在日志中

x1=Crème Brûlée x2=105 x3=280
NOTE: 1 record was read from the infile "C:\Downloads\test.txt".
      The minimum record length was 20.
      The maximum record length was 20.

#汤姆:请问,有没有一个函数或Perl正则表达式来代替表变量中的重音符号,而不是Translate?谢谢大家!@D.O.尝试BASECHAR()函数。