On 2013-04-09 18:41:06 +0300, Anton Kavalenka wrote: > On 09.04.2013 18:07, Leonardo M. Ramé wrote: > >On 2013-04-09 15:28:56 +0100, Martin wrote: > >>On 09/04/2013 15:22, Leonardo M. Ramé wrote: > >>>On 2013-04-09 15:20:33 +0100, Martin wrote: > >>>>On 09/04/2013 15:11, Leonardo M. Ramé wrote: > >>>>>Hi, I'm working with a "C" shared library that returns a pointer to > >>>>>char. It's all ok when not using special characters such as "ñ" or > >>>>>accents, but when I get these, they are replaced by "?" signs. > >>>>> > >>>>>For example, if I receive an "ñ", the debugger shows this: > >>>>> > >>>>>lStr := 'A'#209'oranza'; > >>>>> > >>>>>The correct string is: > >>>>> > >>>>>lStr := 'Añoranza'; > >>>>> > >>>>>What can I do to show accented characters?. > >>>>> > >>>>It's a known problem and already reported. here is no fix available > >>>>yet. The debugger does can not yet display this. > >>>> > >>>>Actually it is 2 problems. > >>>>1) is the "?" > >>>>2) the other is #209 etc > >>>> > >>>Well, I can live with the debugger problem, but is there a solution for > >>>the "?" sign end displaying in my app?. > >>> > >>If you get an ansi string, you must convert it to utf8 before giving > >>it to the LCL > >> > >>need to find the exact function > >> > >>label.caption :- ansitoutf8(s) // assuming it is ansi in the system codepage > >> > >Yes, I've tried that, but it shows a box with an X inside where the ñ > >should appear... > > > >My codepage is es_AR.UTF-8. > > > u:unicodestring; > > u:=Putf8Char(buf); // or PAnsiChar depends on what your C DLL returns > > label.caption:=u; // implicit cast >
No, I've tried all kinds of combinations of ansitoutf8, unicodestring, etc, but nothing works, all returns "?" or the box with the X in the place of "ñ" or accents. -- Leonardo M. Ramé http://leonardorame.blogspot.com -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
