Op 4-10-2011 20:20, Corinna Vinschen schreef:
On Oct 4 20:03, Erwin Waterlander wrote:
Corinna Vinschen schreef, Op 4-10-2011 16:29:
Does it? Even if I'm running a german OS, I absolutely hate to see
german diagnostic output from gcc, and I absolutely hate certain
programs using non-ASCII chars in output. (In)famous examples are
Unicode quoting chars rather than ' or ", or using the Unicode
hyphen character rather than -. But that's just me.
You got used to ASCII, like all the old-timers... ;)
export LANG=C is your solution.
By the way, I noticed that with the default locale C.UTF-8 the
nl_langinfo(CODESET) C function<langinfo.h> returns wrongly
"ISO-8859-1",
Not for me:
$ cat> setl.c<<EOF
#include<stdio.h>
#include<locale.h>
#include<langinfo.h>
int main(int argc, char **argv)
{
char *loc;
if (argc> 1)
loc = setlocale (LC_ALL, argv[1]);
else
loc = setlocale (LC_CTYPE, NULL);
printf ("locale: %s charset: %s\n", loc, nl_langinfo (CODESET));
return 0;
}
EOF
$ gcc -o setl setl.c
$ ./setl
locale: C charset: ANSI_X3.4-1968
$ ./setl C
locale: C charset: ANSI_X3.4-1968
$ ./setl C.utf8
locale: C.utf8 charset: UTF-8
$ ./setl C.UTF-8
locale: C.UTF-8 charset: UTF-8
Corinna
Hi,
My program (wcd) uses gettext/libintl. Libintl is causing the effect.
Libintl is not working properly with a locale C.UTF-8. That is a serious
problem.
#include <stdio.h>
#include <locale.h>
#include <langinfo.h>
#include <libintl.h>
int main(int argc, char **argv)
{
char *loc;
if (argc > 1)
loc = setlocale (LC_ALL, argv[1]);
else
loc = setlocale (LC_CTYPE, "");
bindtextdomain("setl","/usr/share/locale");
textdomain("setl");
printf ("locale: %s charset: %s\n", loc, nl_langinfo (CODESET));
return 0;
}
waterlan@erwin2 ~/tmp
$ gcc -o setl setl.c -lintl
waterlan@erwin2 ~/tmp
$ echo $LANG
C.UTF-8
waterlan@erwin2 ~/tmp
$ ./setl
locale: en_US charset: ISO-8859-1
waterlan@erwin2 ~/tmp
$ locale
LANG=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
waterlan@erwin2 ~/tmp
$ export LANG=nl_NL.UTF-8
waterlan@erwin2 ~/tmp
$ ./setl
locale: nl_NL.UTF-8 charset: UTF-8
waterlan@erwin2 ~/tmp
$ locale
LANG=nl_NL.UTF-8
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_ALL=
--
Erwin Waterlander water...@xs4all.nl
Zeelsterstraat 59B, 5652 EB Eindhoven, The Netherlands
www: http://www.xs4all.nl/~waterlan/
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple