It seems that both those encodings are for Chinese predominantly, so I'm guessing that if you just use Chinese chars, you will not experience any '?'. Also you can probably use most Western ASCII chars; they only take up a few spaces out of all the Chinese chars used, so they probably made space for them.
Yes, our application only deals with Chinese and English characters. The CP937 are the EBCIDIC Chinese, whereas CP037 the EBCIDIC English. Our front end application performs a double encoding from unicode to CP037 and then to CP937, and then sends this CP937 encoded string to the back end AS/400 with CP937 codepage for processing. AS/400 acknowledges by sending back the message. Our front end performs a double decoding from CP937 to CP037 and then back to unicode. We log both the sent and received CP937 encoded messages into our UTF-8 database.
From your reply, it seems that our application should be safe and should not have any '?'.
[ August 11, 2003: Message edited by: Rudy Yeung ]