תודה!
"אבל למזלך, כתבתי לפני חודשיים MFC CLASS (יורש מ-CFile) שמטפל בכל זה בשבילך צור איתי קשר אם הפתרון הזה מתאים לך, ואשלח לך את הקוד." אבל מה הכיף בלקבל את הכל על מגש של כסף? אני מעדיף קודם כל לשבור את הראש לבד (אחרת איך לומדים?). אולי כשאני אסיים אני ארצה להציץ בקוד שלך
. תודה בכל מקרה. "יש לו HEADER מיוחד (BYTE ORDER MARK)" ממה שהספקתי לקרוא, בUTF-8 לא חובה לשים את זה בהתחלה, ובינתיים זה עובד לי, אבל אולי זה רק בגלל ההגדרות ששולחים לדפדפן. "הפורמט הזה לא נתמך BUILT-IN ב-WIN32 API" עוד לא בחרתי את השרת שעליו אני אשים את האתר, אבל באתר שבדקתי ברצינות יש גירסה מבוססת WIN2000 וגירסה מבוססת לינוקס, והגירסה השנייה יותר זולה בשני דולר לחודש, כך שכנראה שאני אבחר באופציה הזאת, ואז גם התוכנית צריכה להיות בפורמט של לינוקס. בכל מקרה, הנה מה שעשיתי בינתיים. זה ממש ממש בסיסי, אבל נראה לי שזה פחות או יותר מה שאני צריך, חוץ מהbidi, ואני מניח שזה יהיה די כאב ראש. #define UTF8_HEBREW (0x05D0) #define ASCII_HEBREW (128) void UTF8_HPutchar( unsigned char ch, FILE *output ) { unsigned char utf8_1, utf8_2; int utf_code, i; if ( ch <= 0x7F ) fputc(ch, output); else { utf_code = (ch - ASCII_HEBREW) + UTF8_HEBREW; clrscr(); // Work from right to left utf8_2 = 0x80; // 10XXXXXXb for ( i = 0; i < 6; i++ ) utf8_2 |= (utf_code&0x00FF) & (1<<i); utf8_1 = 0xC0; // 110XXXXXb for ( i = 0; i < 5; i++ ) utf8_1 |= (utf_code>>6) & (1<<i); fputc(utf8_1, output); fputc(utf8_2, output); } } תודה! נ.ב. איך מעבירים את הטקסט כאן בפורום לצד השני (לגבי הקוד מקור)