[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Can't convert string from native encoding to 'UTF-8' problems

From: 温德鑫 <jackywdx_at_gmail.com>
Date: Wed, 13 Jul 2011 23:05:34 +0800

HI,all:
    I wrote a file like this: test.c
#include <stdio.h>
#include <stdlib.h>
#include<locale.h>
int main()
{
   FILE *fpipe;
   char *command="cd /data/cdc/document/;/usr/bin/svn status 73/2788
--config-dir /home/svnroot/.subversion 2>&1";
   char line[256];

 if ( !(fpipe = (FILE*)popen(command,"r")) )
{ // If fpipe is NULL
   perror("Problems with pipe");
   exit(1);
 }

while ( fgets( line, sizeof line, fpipe))
{
  //printf("%s", line);
  puts(line);
}
pclose(fpipe);
}

and I compiled it, run on the OpenSUSE
gcc -o test test.c
./test
This way works fine, There is no errors output, but when I use crontab to
run it,
* * * * * /root/test >> /var/log/test.log 2>&1

The error comes out:
tailf -f /var/log/test.log

svn: Error converting entry in directory '73/2788' to UTF-8

svn: Can't convert string from native encoding to 'UTF-8':

svn: ?\228?\189?\160?\229?\165?\189.txt

The directory contains a file using chinese character,I have searched
online,most articles said using " export LC_ALL='en_US.utf-8' " to solve
this problem,I try to add this code to the file

#include <stdio.h>
#include <stdlib.h>
#include<locale.h>
int main()
{
   FILE *fpipe;
   char *command="cd /data/cdc/document/;/usr/bin/svn status 73/2788
--config-dir /home/svnroot/.subversion 2>&1";
   char line[256];
   char *b = setlocale(LC_ALL, "en_US.utf-8");
   puts(b);
   b = setlocale(LC_ALL, NULL);
   puts(b);

 if ( !(fpipe = (FILE*)popen(command,"r")) )
{ // If fpipe is NULL
   perror("Problems with pipe");
   exit(1);
 }

while ( fgets( line, sizeof line, fpipe))
{
  //printf("%s", line);
  puts(line);
}
pclose(fpipe);
}

I compile it again, run by the crontab, but it does not work, the error
still exists. How can I solve this problem?
Received on 2011-07-13 22:40:49 CEST

This is an archived mail posted to the Subversion Users mailing list.