http://bugs.winehq.org/show_bug.cgi?id=19429
--- Comment #2 from Takahiro Watanabe dee@bowfive.oag.co.jp 2009-07-24 00:08:46 --- I guess ... (sorry I only have checked this by viewing the source, not on the running code):
is_valid_dbcs_mapping() in libs/wine/wctomb.c:
There is a condition expression checking for default chars;
if (ch == table->info.def_char && wch != table->info.def_unicode_char) return 0;
table->info.def_char becomes '?' (0x3f) and table->info.def_unicode_char is U+30FB, as described in 'struct dbcs_table cptable_932' in libs/wine/c_932.c .
So if ch='?' and wch=L'?' (both numerically are 0x3f), this function returns zero, indicating that the DBCS mapping is invalid.