If your concern is that the encoding is different, you could consider using the KCVT
function. That converts from one encoding to another. You could try, for example.
data want;
set have;
yourvar = kcvt(yourvar,'utf8','ansi');
run;
You would be best off identifying what encoding your source data is in and ensuring the 'from' matches that, as this won't work if the source isn't valid in that encoding.
To try to 'skip' the error, you might try enabling BULK_COPY and make sure the error limit is sufficiently high. See this doc page for more detail. An example from that page:
In the following example, SAS stops processing and pauses Fastload when it encounters the tenth error.
libname mydblib teradata user=terauser pw=XXXXXX ERRLIMIT=10;
data mydblib.trfload(bulkload=yes dbtype=(i='int check (i > 11)') );
do
i=1 to 50000;output;
end;
run;
Set the ERRLIMIT sufficiently low to warn you of important issues and high enough to skip trivial issues like this; and use bulkload=yes
in the data statement to ensure it uses FASTLOAD. Leave off the int check
part of things unless you actually want to error on i>11, of course.