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

Re: Problem with non-English characters in file names

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-05-21 13:11:52 CEST

On May 21, 2007, at 04:37, Anders J. Munch wrote:

> Dmitry Y. Labutin wrote:
>
>> When I commit files with Russian filename I receive log message by
>> e-mail looks like this:
>> ---------------------------------------------------------------------
>> ---
>> Author: kornyakov
>> Date: 2007-05-12 14:29:15 +0400 (Sat, 12 May 2007)
>> New Revision: 76
>>
>> Modified:
>> Working Versions/?\208?\162?\208?\181?\209?\133?\208?\189?\208?
>> \190?\208?\187?\208?\190?\208?\179?\208?\184?\208?\184/ITP/New Text
>> Document.txt
>> ---------------------------------------------------------------------
>> ---
>>
>> I use commit-email.pl script.
>>
>> How can I fix this ?
>
> I don't know why svn log spits out this homegrown, half-baked Unicode
> encoding, it isn't documented anywhere, but I can tell you what it
> does: Non-ascii code points are encoded as the byte values of the
> utf-8 encoding in the form of three decimal digits, prefixed with \?.
>
> So if you can fix commit-email.pl to set the character set of the
> email to utf-8, and replace every \?ddd with a single byte with the
> value ddd, you should get something readable.
>
> For inspiration, below is a Python filter that converts svn log output
> to the user's likely preferred encoding.
>
> - Anders
>
> import fileinput, re, locale
> R = re.compile(r'\?\\([0-9][0-9][0-9])')
> def decode(txt):
> def replacement(match):
> return chr(int(match.groups()[0]))
> return R.sub(replacement, txt).decode('utf-8')
> if __name__=='__main__':
> for line in fileinput.input():
> print decode(line).encode(locale.getpreferredencoding(),
> 'xmlcharrefreplace')

I wouldn't expect you to need to write any such script. All you
should need to do is ensure that the LANG environment variable is set
to an appropriate value when the emailing script is run.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon May 21 13:12:34 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.