Hi

My application running in Linux connects to informix database and fetches
data from a TEXT column. The column content has some extended characters.
For ex: XXX³X and AAA’A. The two characters ³ and ’ have code  179 and 146
(decimal) which i found by printing in the code as well as from the website.

Please refer to the below line for the number and character code against
them. http://www.tony-franks.co.uk/UTF-8.htm

LANG and LC_CTYPE env variables for my terminal session are set as follows.
LANG=en_US.UTF-8 and LC_CTYPE=en_US.UTF-8

My issue is:
When i print 146 using %c , instead of getting the expected ’ character i
get only null character but character for 179 is printed properly and when i
send both characters to file and do a cat of that file, the character for
179 is displayed properly. But when i do a vi of that file name, it is
showing some junk.

Here is the program.
#include<stdio.h>
#include<wchar.h>
#include<locale.h>

int main()
{
FILE *fp=NULL;
fp=fopen("myfile.txt","w+");
setlocale(LC_CTYPE,"en_US.UTF-8");
unsigned char x=179;
unsigned char y=146;
printf("%c %d \n", x,x);
printf("%c %d \n", y,y);
fputc(x,fp);
fputc(y,fp);
return 0;
}

Output:
$./a.out
³ 179 ---> this is correct
146 ---> Unfortunately this is null character (not even a space)

$cat myfile.txt
³

Cat displays properly
But vi myfile.txt shows, ³<92>

Can you let me know what is the issue? why vi is not showing properly. I am
not able migrate this data into a table in oracle also.
should i use iconv? If so how to use it.

when i say file myfile.txt
myfile.txt: Non-ISO extended-ASCII text, with no line terminators


Kindly help.

Thanks,
Sathya


[Non-text portions of this message have been removed]



------------------------------------

To unsubscribe, send a blank message to 
<mailto:[email protected]>.Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/c-prog/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/c-prog/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply via email to