a week ago
We are upgrading from SAS 9.4 M3 to M4.
In M3 we have Latin9 (SAS_en) as encoding . Now when we have upgraded we changed the encoding as UTF-8.
1. The Sas codes containing special character are not appearing correctly , whereas the Data in the table (ODBC, pre assigned library ) are appearing proper.
To overcome this if we change the session encoding of Upgraded (M4) version to Latin 9, then the Issue is :
The Sas codes containing special character are appearing correctly , whereas the Data in the table (ODBC, pre assigned library) are not appearing proper.
Please guide if any one has faced this issue ...
a week ago
I think first you should check the encoding set on your ODBC data provider and the encoding on your SAS datasets.
I also think that if you work with different languages, UTF-8 / UNICODE is a good choice. However, it requires some adaptations to the previous way of working.
The challenge, is that you will need to set a standard in your code for transcoding and be aware of the encoding set on destination and sources, also how you will treat your data (such as with the trim () functions or special character treatment.
I would like to strongly recommend you to start reading this paper, it has helped me and many customers a lot.
I will go through the paper , hopefully it will give me some ways to resolve the issue.
I will update back if I am able to resolve this.
We are willing to follow the universal standard so we have updated the encoding stuff.
Also , even if we change the encoding back to latin 9 , it gives un -recongnized character in ODBC data sets as I explained in my last post.
as said, from now on, and until to steer up properly, you will need to be very careful of the encoding and formats used in your SAS process (your sasv9 configuration) abd in your origin and destination data sources.
This might be of your interest too:
Problem Note 36652: Some characters might not render correctly when data is read from the Microsoft SQL Server database to a SAS® Unicode session
However, a SAS Unicode session might not render correctly any non-Unicode character data from Microsoft SQL Server. If the operating system's locale and the database locale are the same, the ODBC driver does not transcode the data, and SAS cannot determine the encoding.
To work around the issue, correct the encoding attribute of the SAS data set that is created from the database to convert it to session encoding