[Lazarus] PAnsiChar to UTF8 issues

Leonardo M. Ramé l.rame at griensu.com
Tue Apr 9 17:07:45 CEST 2013


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.

-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com




More information about the Lazarus mailing list