I came across the following snippet and attempted to test it with UTF-8
characters. but I get "[ᓄ] 0xprintf: warning: 'ᓄ': invalid character constant"
on my Mac, but on a linux box I get what I expected "[ᓄ] 0x14C4". Both systems
have the LANG set to UTF-8 (see below).
The difference I do see is that the linux box is "Version AJM 93t+ 2010-02-02"
and the Mac is "Version M 1993-12-28 s+". Was printf fixed in 93t?
I did some googling and could not find much about this error, other then some
folks do get it, even in Java and C. But no resolution or workaround was
identified. I'd like to write machine independent code that would work both my
mac and various linux boxes (i386 GNU/Linux, Solaris, AIX linux, Redhat,
Ubuntu, Oracle Enterprise Linux [a flavor of Redhat], etc).
#!/usr/bin/env ksh93
str="ᓄᓇᕗᒻᒥᐅᑦ,ᓱᓴᓐ ᐊᒡᓗᒃᑲᖅ"
for (( i=0; i < ${#str}; i++ ))
do
c=${str:$i:1}
if [[ $c == ' ' ]]
then
printf "[%s] 0x%X\n" " " \'\ \'
else
printf "[%s] 0x%X\n" "$c" \'$c\'
fi
done
exit 0
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
Thanks for any insight ya'll can provide.
Eric
_______________________________________________
ast-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-users