Dear community,
I'm working on EGRC 6.1 in which I've system in which user enters data in both Arabic and in English Language. Both Arabic and English data is visible in web application, however in data sets Arabic text is shown as ?? instead of Arabic. I also created some reports using SAS stored process and printing my data report as html using
data _null_;
file _webout;
Arabic data is showing as ? instead of Arabic in reports too.
Kindly tell me that how can I print my Arabic in my reports and make them visible in data sets.
Things I've tried are
I changed SAS language from en to u8(UTF-8) as
SAS -> SAShome -> SASFoundation -> 9.4 -> sasv9.cfg (changed en to u8)
followed by this question
tried to change encoding of my data set as
data Subject (encoding="UTF-8");
set Sasoprsk.cust_field_value_l;
where cust_field_nm eq "x_str_s";
Subject = value_txt;
keep business_object_rk Subject;
run;
I've also tried with
ISO-8859-6
both approaches didn't work. Kindly tell me how I can do this? I attached a pic as compressed of my SAS data set.
In attachment ?? is Arabic text which is visible in web application but displaying ? in data sets and report.
Usually there is a startup script referenced in the Stored Process application server properties. This is something that a SAS admin would need to adjust for you. You need to change the startup script to launch SAS with the /nls/u8 config file (which includes the ENCODING=UTF8 directive).
Are you certain that the encoding of the original data set (Sasoprsk.cust_field_value_l) is UTF-8 already and that the Arabic characters are preserved? You can check this with PROC CONTENTS data=Sasoprsk.cust_field_value_l, and then a PROC PRINT of some of the records from that data set.
Chris
I just set SAS encoding to UTF-8 in meta. now Arabic is visible in data sets but not in reports.
If you're relying on Stored Processes for the reports, make sure that the Stored Process server also has utf-8 set for encoding. And you might need to restart those servers -- the Stored Process server usually has a few persistent multiuser sessions going when it starts up.
Usually there is a startup script referenced in the Stored Process application server properties. This is something that a SAS admin would need to adjust for you. You need to change the startup script to launch SAS with the /nls/u8 config file (which includes the ENCODING=UTF8 directive).
I changed the encoding to UTF-8 but it's still not showing Arabic text.
I suggest that you work with SAS Technical Support on this. I think we've covered all of the necessary steps, but something is missing. A closer examination of your SAS log and the Stored Process environment might yield the answer.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.