Thanks so much for the info. The problem then is that there's no universal standard as to how multicharacter characters might be implemented in a different country. It depends on their hack.
The issue is that the person will enter their hotsync ID to get a registration code to unlock the game. This process uses the web's method of handling the special character, which I've found to use UTF-8. If the person's Palm also uses UTF-8, then there's no issue - buffer matches buffer. But if the person's palm doesn't use UTF-8, then the unlock code won't work, and there's no general way to know how the person's hotsyncID is really stored.
Perhaps Palm could use the same format they use with localization resource overlays with HotsyncIDs.
- Jeff
Ken Krugler wrote:
SUMMARY: How does the PalmOS store Russian characters in a HotsyncID?
That's up to the 3rd party hack used to provide Cyrillic support on a Palm OS device. I'm guessing they just use Windows code page 1251.
DETAIL: My PalmOS app reads the HotsyncID using DlkGetSyncInfo(NULL,NULL,NULL,pszBuffer,NULL,NULL); This works for any 8-bit character set, which covers most European characters and accents, but of course not Asian characters or dead keys.
dead keys?
And why doesn't it work with multi-byte characters? You're just reading the user name into a string buffer, right?
But I just got my first customers with Russian characters in their HotsyncIDs, which breaks my code because it only sees the ASCII.
What do you mean by "only sees the ASCII"? If your code only works with 7-bit ASCII then yes, you'd have a problem with Cyrillic.
Russian characters can be stored using UNICODE or UTF-8,
They could use UTF-8, but I don't think that's the encoding being used.
so I was wondering what format the PalmOS uses to store Russian characters, and whether or not they would show up using DlkGetSyncInfo?
All I need to be able to do is encode the bytes representing the Russian characters and my code will work, but I have no idea how they are represented on the Palm HotsyncID. (Or I need to know how DlkGetSyncInfo will reveal Russian characters and then my program will also work.)
Are you sure your code works with 8-bit characters? That's where I'd look first.
-- Ken
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
