Setlocale and wchar_t C functions...

Umberto Nicoletti umberto.nicoletti at GMAIL.COM
Sat Jun 23 03:00:57 EDT 2007


Steve,
this page is probably helpful:

http://www.cl.cam.ac.uk/~mgk25/unicode.html

I found it by googling for: wchar_t linux

Umberto

On 6/22/07, Daniel Morissette <dmorissette at mapgears.com> wrote:
> Um... based on what I've read in the past I think setlocale() is a bad idea.
>
> When I last looked at bug 1921 I thought we could deal with the issue
> using libiconv only, since, if I remember correctly, the iconv()
> function processes one character at a time so I thought we could use it
> to iterate over all mbyte characters in the string. I could try to find
> some time to have another look (early next week?) before we go the scary
> route of setting global locales and stuff like that.
>
> Daniel
>
>
>
> Steve Lime wrote:
> > Hi all: I'm working to resolve bug 1921 with deals with curved labels and multibyte character sets. The current label path
> > code doesn't handle multibyte character sets. Fortunately standard C (on Linux and MacOS anyway) have some functions
> > to deal with the problem. For example mbstowcs converts from a multibyte string to a wide character string. The behavior
> > of those functions depend on the locale. Unless you are in a local with multibyte characters those functions don't work
> > with multibyte chars and assume single byte chars. Found that out trying to draw Chinese characters with the default US-EN
> > locale. If I set the local to one with multibyte characters then I could debug.
> >
> > A couple of questions then:
> >
> >   - what would folks think about adding a LOCALE parameter to the main mapObj? We could to a setlocale(LC_ALL, msyytext)
> > immediately. If not set, then whatever the system has set takes over.
> >
> >   - as I understand it setlocale has a global effect so perhaps there might be some down stream side effects, although I can't
> > think what they might be. I suppose for long running processes there could be issues. I can see where a company might want
> > to provide maps in different languages from the same server.
> >
> >   - are the wide character functions (stdlib.h) available on all platforms?
> >
> > Steve
>
>
> --
> Daniel Morissette
> http://www.mapgears.com/
>



More information about the mapserver-dev mailing list