Issue #199 resolved

When Use SVN Repository,Comment garbled submitted by the Chinese

Anonymous created an issue

When Use SVN Repository,Comment garbled submitted by the Chinese

Comments (17)

  1. Anonymous

    DAV protocol is returned by the commit message contains Chinese characters have garbled. Source code: DAVLogHandler.java, section 120 row: String comment = SVNEncodingUtil.fuzzyEscape(propValue); Should be changed: String comment = SVNEncodingUtil.xmlEncodeCDATA(propValue);

  2. Pavel Zhukov

    SVN repository commits page also contain wrong cyrillic encoding. First time (after first displaing) all correct, but after page reloading commit messages encoding garble.

    I am check it on Debian 6.0.5 with java: java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) and java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)

  3. Sebastian Sdorra repo owner

    I'm not sure but it looks like a bug in the svn client. Because the client show wrong information, without scm-manager:

    $ svnadmin create cyrillic
    $ svnadmin load cyrillic < svn-dump 
    <<< Started new transaction, based on original revision 1
         * adding path : test-prj ... done.
    
    ------- Committed revision 1 >>>
    
    $ svn log file:///path/to/repository/cyrillic 
    ------------------------------------------------------------------------
    r1 | pah | 2012-07-16 18:17:43 +0200 (Mon, 16 Jul 2012) | 3 lines
    
    Cyrillic: ?\208?\161?\208?\190?\208?\183?\208?\180?\208?\176?\208?\189 ?\209?\130?\208?\181?\209?\129?\209?\130?\208?\190?\208?\178?\209?\139?\208?\185 ?\208?\191?\209?\128?\208?\190?\208?\181?\208?\186?\209?\130 ?\208?\180?\208?\187?\209?\143 ?\208?\180?\208?\181?\208?\188?\208?\190?\208?\189?\209?\129?\209?\130?\209?\128?\208?\176?\209?\134?\208?\184?\208?\184 ?\208?\190?\209?\136?\208?\184?\208?\177?\208?\186?\208?\184 ?\208?\178 ?\208?\186?\208?\190?\208?\180?\208?\184?\209?\128?\208?\190?\208?\178?\208?\186?\208?\181 ?\208?\187?\208?\190?\208?\179-?\209?\129?\208?\190?\208?\190?\208?\177?\209?\137?\208?\181?\208?\189?\208?\184?\208?\185.
    English: Created test project for log encoding bug demonstration
    
    ------------------------------------------------------------------------
    

    Could you try to reproduce the behavior above? Tomorrow i will test the behavior with apache and native svn.

  4. Pavel Zhukov

    My test environment:

    • OS Debian 6.0.5
    • locale en_US.utf8, with fonts, supported cyrillic charset UTF-8
    • native svn client (versions 1.7.4, 1.7.5)
    • local access to repository (without network) and network access via Apache, svnserve
    • svn log command see in attachment files svn-log-{right,wrong}

    Native svn client work correctly with any locales (C, en_US.utf8, ru_RU.utf8, etc ...) As it is expected, UTF-8 is not need any retranslations. I am test it also on windows xp professional with CollabNet Subversion 1.7.5 (output encoding was cp1251).

    Result equal. Native client with local access and via Apache (file and http schemes) work correctly, but get svn log from SCM Manager return '?????...??' instead of cyrillic commit messages.

    Characters '?' (see my attachment file svn-log-wrong) received from scmserver via network (try tcpdump)!

    As to your comments #10 and #12. Yes. This is looks as escaped UTF-8 encoding. SVNkit here doesn`t play (you are use local repository access!). Are you console supported UTF8 ? Try redirect output into file and view it by viewer or editor.

  5. Pavel Zhukov

    I am test scm-server-app-2012071902.zip Reloading commits page work correctly. Thanks.

    But i do not use this function in my work :) The bug #199 still remains.

    And i found out that commit messages text depends from locale settings of scm-server ! 'LANG=C' give results '????' but 'LANG=en_US.utf8' give wrong damaged multibyte encoding! Double encoding?

    It is not correctly that scm-server side locale settings influences it output on client side!

  6. Log in to comment