"yf" <[EMAIL PROTECTED]> wrote: > > > if ( IsLegalDBCSChar_cp936( *str_src, *(str_src+1) ) ) > > > { > > > - str2b_dst->byte1 = *str_src; > > > - str2b_dst->byte2 = *(str_src+1); > > > + str2b_dst->byte1 = *str_src&0x7f; > > > + str2b_dst->byte2 = *(str_src+1)&0x7f; > > > > This doesn't seem right, the values for cp936 byte2 apparently go from > > 0x40 to 0xfe. Any cp936 experts out there? > But if I modified, the Chinese character can be printed, otherwise it is > a rectangular.
Have you tried to mask only byte1? -- Dmitry.