Am 2019-05-03 um 11:53 schrieb Branko Čibej:
On 02.05.2019 11:40, Osipov, Michael wrote:
Hi Branko,

Am 2019-05-01 um 02:17 schrieb Branko Čibej:
On 30.04.2019 20:18, Osipov, Michael wrote:

The terminal and locale are fine though:
$ locale
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_ALL=

LC_ALL should probably not be empty. Could be that on HP-UX, the empty
value causes Subversion to use the default C (or POSIX) locale. Try
setting

      LC_ALL="de_DE.utf8"; export LC_ALL

Subversion tries setlocale(LC_ALL, "") first and only if that fails, it
tries setlocale(LC_CTYPE, ""). Evidently the first call succeeds, which
is strange but not strictly wrong. I think.

Doesn't really work out.

Here is the old server:
$ hostname
blnn724x
$ svn --version -q
1.9.4
$ locale
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_ALL=
$ svn ls https://deblndw011x.ad001.siemens.net/repos/svn/Playground
README.txt
a/
c.txt
hallo.c
keyword-test.txt
test1234/
testprogramm.c
привет.txt

the export didn't change anything, it still fails:
$ hostname
deblndw024v
$ svn --version -q
1.9.4
$ locale
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_ALL=de_DE.utf8
$ svn ls https://deblndw011x.ad001.siemens.net/repos/svn/Playground
README.txt
a/
c.txt
hallo.c
keyword-test.txt
test1234/
testprogramm.c
{U+043F}{U+0440}{U+0438}{U+0432}{U+0435}{U+0442}.txt


Here is a basic program:
0# cat locale.c
#include <locale.h>
#include <stdio.h>
#include <langinfo.h>

int main(void) {
     char *l = NULL;
     l = setlocale(LC_ALL, "");
     printf("%s\n", l);
     char *nl = NULL;
     nl = nl_langinfo(CODESET);
     printf("%s\n", nl);

     return 0;
}
# aCC -o locale locale.c
# ./locale
C.utf8 C.utf8 C.utf8 C.utf8 C.utf8 C.utf8
utf8
# LC_ALL=de_DE.utf8 ./locale
de_DE.utf8 de_DE.utf8 de_DE.utf8 de_DE.utf8 de_DE.utf8 de_DE.utf8
utf8

Looks good to me, doesn't it?

It does ...

Anything else I can try? Bad libiconv or libapr?

Either libiconv or apr_xlate don't handle UTF-8 on HP-UX? It would be
strange but not impossible.

Given the earlier warning from msgfmt that
"Charset "UTF-8" is not supported" I suspect libiconv, since gettext
doesn't use APR.

Is it possible that you're using a mis-configured GNU libiconv instead
of the stock system version? Since locale() does support UTF-8, I'd
expect the stock libiconv to support it, too. However, IIRC GNU tools
don't like the POSIX libiconv API very much.

Subversion doesn't care; for string conversion, whatever stock libiconv
does (through apr_xlate) should be enough; it doesn't depend on NLS
being enabled.

Given your pointers, that was it. For some reason I have screwed up the stack around the GNU stuff. Recompiling everyting again to PREFIX made it work. Subversion perfectly works now on HP-UX.

Thank you very much for your assistance, much appreciated.

Michael

Reply via email to