Microsoft SQL Server supplies six different data types that can hold textual data: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, and NTEXT. Types NCHAR, NVARCHAR, and NTEXT are used to store Unicode data; types CHAR, VARCHAR, and TEXT are used to store non-Unicode character data.
If you launch a SAS Unicode session to process multilingual data from Microsoft SQL Server through ODBC, you should use either the NCHAR, NVARCHAR, or NTEXT types to process data. If you want to access data of the either the CHAR, VARCHAR, or TEXT data types, you need to make sure that the SAS session encoding matches the operating system's locale.
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, as shown in this example: