You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Gunter Ohrner <G....@post.rwth-aachen.de> on 2006/01/02 09:23:44 UTC
Re: "Can't recode string" again...
Gunter Ohrner wrote:
> Problem: checkin was successful. Subsequent commits in a directory with
> umlauts now cause the error message "svn: Can't recode string".
Doesn't anyone have an idea what I may be doing wrong?
Also pointers to FAQs / relevant svnbook sections are greatly appreciated, I
couldn't find anything helpful for my case. :-(
What charset does svnserve try to recode the UTF-8 to?
Greetings,
Gunter
--
Python is executable pseudocode. Perl is executable line noise.
-- http://mail.python.org/pipermail/tutor/2002-April/014142.html
*** PGP-Verschlüsselung bei eMails erwünscht :-) *** PGP: 0x1128F25F ***
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: "Can't recode string" again...
Posted by Joerg Hessdoerfer <Jo...@sea-gmbh.com>.
Hi again,
On Monday 02 January 2006 10:57, Joerg Hessdoerfer wrote:
> Hi,
>
[...]
>
> Well, SVN tries to recode to your current locale. Guessing that the locale
[...]
I wasn't clear on that, I guess: SVN recodes only the filenames, not the
contents. So please also check that the directory name in question looks
correct.
Greetings,
Jörg
--
Leading SW developer - S.E.A GmbH
Mail: joerg.hessdoerfer@sea-gmbh.com
WWW: http://www.sea-gmbh.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: "Can't recode string" again...
Posted by Gunter Ohrner <G....@post.rwth-aachen.de>.
Joerg Hessdoerfer wrote:
>> > Problem: checkin was successful. Subsequent commits in a directory with
>> > umlauts now cause the error message "svn: Can't recode string".
>> Doesn't anyone have an idea what I may be doing wrong?
> Well, SVN tries to recode to your current locale. Guessing that the locale
> was correct on commit, and guessing your location in germany, and guessing
> you're on *NIX, you probably should set your locale to 'german' (or
> de_DE). See 'locale -a' for which locales you have installed.
Mh, maybe I'm misunderstanding how subversion is supposed to handle
different charsets. From what I read about svn my impression was that the
client normalizes all filenames to UTF8 - depending on the current locale -
and transmits the normalized file names to the server. From the strace I
did it also looks to me as if my local svn client did just that, before
URL-encoding the name.
Now I'm wondering why the subversion server wants to do any recoding at all?
I thought it'd just store the UTF8 names provided from the client and it'd
be the client's responsibility to recode these UTF8 names to the current
locale upon checkout / update.
What of this did I get wrong?
On the client LC_* is unset, LANG is set to "de_DE@euro" and the
filenames/dirnames in question are readable just fine in the console.
On the client, "locale -a" prints
$ locale -a
C
de_DE@euro
de_DE.iso885915@euro
de_DE.utf8
POSIX
while on the server it does print
# locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE.utf8@euro
de_DE@euro
deutsch
en_GB.utf8
en_US.utf8
german
(So "de_DE@euro" is known to both the client and the server, if neccessary.)
Greetings,
Gunter
--
"When all else fails, read the instructions." -- Cahn's Axiom
*** PGP-Verschlüsselung bei eMails erwünscht :-) *** PGP: 0x1128F25F ***
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: "Can't recode string" again...
Posted by Joerg Hessdoerfer <Jo...@sea-gmbh.com>.
Hi,
On Monday 02 January 2006 10:23, Gunter Ohrner wrote:
> Gunter Ohrner wrote:
> > Problem: checkin was successful. Subsequent commits in a directory with
> > umlauts now cause the error message "svn: Can't recode string".
>
> Doesn't anyone have an idea what I may be doing wrong?
>
> Also pointers to FAQs / relevant svnbook sections are greatly appreciated,
> I couldn't find anything helpful for my case. :-(
>
> What charset does svnserve try to recode the UTF-8 to?
>
> Greetings,
>
> Gunter
Well, SVN tries to recode to your current locale. Guessing that the locale was
correct on commit, and guessing your location in germany, and guessing you're
on *NIX, you probably should set your locale to 'german' (or de_DE). See
'locale -a' for which locales you have installed.
If those guesses are wrong, please post again with more info.
Hope this helps,
Jörg
--
Leading SW developer - S.E.A GmbH
Mail: joerg.hessdoerfer@sea-gmbh.com
WWW: http://www.sea-gmbh.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: "Can't recode string" again...
Posted by Gunter Ohrner <G....@post.rwth-aachen.de>.
Joachim Durchholz wrote:
> Prefixing the svn export command with
> export LC_CTYPE=en_US.UTF-8
> did the trick for me.
LC_* is unset, LANG is set to the current locale. I also tried unstting LANG
and exporting LC_CTYPE as de_DE@euro, with the same results.
I'm not using an UTF8 encoding on the client side, so "something.UTF-8"
would probably lead to corrupt results.
>> What charset does svnserve try to recode the UTF-8 to?
> I'd guess it's the character set that the client uses for file names.
Mh, so the client converts the filename to UTF-8 before committing /
updateing, and the server converts it back to the client's character
encoding? Why doesn't the server store the filename in an encoding-neutral
UTF-8 and leave all re-encoding work to the different clients, which could
likely have different locale setting with different encodings?
Greetings,
Gunter
--
"Nach uns der Syn-Flood!"
-- Autor unbekannt
*** PGP-Verschlüsselung bei eMails erwünscht :-) *** PGP: 0x1128F25F ***
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: "Can't recode string" again...
Posted by Joachim Durchholz <jo...@durchholz.org>.
Gunter Ohrner schrieb:
> Gunter Ohrner wrote:
>
>>Problem: checkin was successful. Subsequent commits in a directory with
>>umlauts now cause the error message "svn: Can't recode string".
>
> Doesn't anyone have an idea what I may be doing wrong?
Just saw your message for the first time.
> Also pointers to FAQs / relevant svnbook sections are greatly appreciated, I
> couldn't find anything helpful for my case. :-(
I got the same problem with this setup:
* Working on a Windows workstation
* Committing a file that contained an umlaut in its name
* Trying to svn export that file *to a Linux directory*.
Prefixing the svn export command with
export LC_CTYPE=en_US.UTF-8
did the trick for me.
Note that this made svn recode the file names to UTF-8, which may or may
not be what you want. (It didn't work too well for me because I'm
running ssh with ISO 8859-1. And I'm not sure how Apache would handle
such a file name - it probably depends on what its environment told it
about the locale. OTOH I didn't care about anything, since file names
with umlauts aren't supposed to be visible at shell or HTTP level
anyway; files with umlauts in their names aren't supposed to have
meaning outside the repository on the server. Your setup may be different.)
On the Unix side, you can try
locale -a
to get a list of all installed locales. Doing
echo $LC_CTYPE
should tell you what the default locale is.
I'd try using a wider locale (with more characters suppored), i.e. one
that is *.utf8, *.iso8859*, or *@euro, then reconfigure whatever needs
to be reconfigured for that character sets. (I'd go for switching the
entire system, but if you already have things with umlauts in your file
system, a changed encoding will change their names. OTOH if the current
encoding already could handle umlauts, you'd probably not get those
recode errors from SVN.)
> What charset does svnserve try to recode the UTF-8 to?
I'd guess it's the character set that the client uses for file names.
Regards,
Jo
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org