Unicode error

Rob Shearman robertshearman at gmail.com
Tue Mar 24 08:02:12 CDT 2009


2009/3/22 Robert Lunnon <bobl at optusnet.com.au>:
> I get this error under solaris building wine.
> Any clues would be welcome (Things have probably changed a lot since I last
> hacked on Wine)
>
> make[2]: Entering directory `/export/home/src/wine2004/wine/dlls/kernel32'
> ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include
>  -D__WINESRC__ -D_KERNEL32_  -fokernel.          res kernel.rc
> Source: ¤Q¤ë a4 51 a4 eb
> Unicode:  5341 6708
> Back: ¢Ì¤ë a2 cc a4 eb
> nls/cht.nls:84:16: Error: String ¤Q¤ë does not convert identically to
> Unicode and back in codepage 950. Try us          ing a Unicode string
> instead

There is a problem with converting to/from codepages in wrc on your
system, but the code that does should not be system-dependent (the
character data is all in libwine).

The Unicode string dumped above looks correct, but the first two bytes
of "Back" are wrong. wrc uses libs/wine/wctomb.c:wine_cp_wcstombs to
do the conversion from UCS-16 -> cp950 and in this case I believe it
will specifically use the wcstombs_dbcs function. Can you change this
function to dump out *src, uni2cp_high[*src >> 8] and res inside the
loop and run wrc again on the file above?

Also, what compiler did you use to compile wrc and libwine?

-- 
Rob Shearman



More information about the wine-devel mailing list