"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.




Reply via email to