Unable to Ant write relevant version information with unicode (c)

After upgrading ant from 1.6 to 1.8.3, the version information for Windows.dll that was built with ant is corrupted.

Previously, this value was correctly stored in the version-info resource:

product.copyright=\u00a9 Copyright 20xx-20xx yyyyyyyyyy \u2122 (therefore (c) and the TM characters were correctly displayed).

After updating ant, the default encoding was changed to UTF-8, which is expected, but the copyright line currently looks like this:

© Copyright 20xx-20xx yyyyyy ™

This is not a problem with the console . I checked with the hex editor and the File Properties dialog box - both display it incorrectly.

Looking at the file hexdumpI see that the following (obviously wrong) display is happening

\u00a9 -> 0x00c2 0x00a9
\u2122 -> 0x00e2 0x201e 0x00a2

, ant UTF-8 ( Unicode) 16- -info.

ant, , - - .

script: :

...
product.copyright=(c) Copyright 2005-2012 Clarabridge
....

, build.xml:

<versioninfo id="current-version" if="is-windows"
    fileversion="${product.version}"
    productversion="${product.version}"
    compatibilityversion="1"
    legalcopyright="${product.copyright}"
    companyname="${product.company}"
    filedescription="${ant.project.name}"
    productname="${ant.project.name}"
/>
...
<cc objdir="${target.dir}/${target.platform}/obj"
    outfile="${target.dir}/${target.platform}/${ant.project.name}"
    subsystem="other"
    failonerror="true"
    incremental="false"
    outtype="shared"
    runtime="dynamic"
>
    <versioninfo refid="current-version" />
    <compiler refid="compiler-shared-${target.platform}" />
    <compiler refid="rc-compiler" />
    <linker extends="linker-${target.platform}">
        <libset dir="${target.dir}/${target.platform}/lib" libs="${lib.list}" />
    </linker>

    <fileset dir="${src.dir}" casesensitive="false">
        <include name="*.cpp"/>
    </fileset>
</cc>
+3
1

, - UTF-8 8-.

BTW, Java 16- ; UCS-2. Java UTF-16, , UTF-8. , Java- !

UTF-8 8- , UTF-16 16- ; "8- " "16- ". , , , , .

UTF-8, Latin1, 8- . , , .

+2

All Articles