Hello Nick,
One of the tools that I've used in the past is to modify the input buffer to alter or remove unwanted characters. It looks like this:

data new;
infile whatever dlm="~" dsd truncover;
input @; /* this pulls a record from the file into the input buffer and holds it*/
_infile_=compress(_infile_,"'"); /* this removes the single quotes from the record in the buffer*/
input @1 a b c d ... ; /* and this parses the data into the variables */
run;