Index: xdocs/changes.xml
===================================================================
--- xdocs/changes.xml	(revision 291665)
+++ xdocs/changes.xml	(arbetskopia)
@@ -25,6 +25,9 @@
     <author email="dion@apache.org">dIon Gillard</author>
   </properties>
   <body>
+    <release version="1.4.2-SNAPSHOT" date="In SVN">
+      <action dev="???" type="fix" issue="MPRELEASE-12" due-to="Dennis Lundberg">The encoding of the project.xml file is not preserved after doing <code>release:transform</code>.</action>
+    </release>
     <release version="1.4.1" date="2004-10-23">
       <action dev="carlos" type="fix" issue="MPRELEASE-9">Close output file in AbstractPomTransformer.write()</action>
     </release>
Index: src/main/org/apache/maven/release/AbstractPomTransformer.java
===================================================================
--- src/main/org/apache/maven/release/AbstractPomTransformer.java	(revision 291665)
+++ src/main/org/apache/maven/release/AbstractPomTransformer.java	(arbetskopia)
@@ -280,6 +280,16 @@
     public void write()
         throws Exception
     {
+        write(null);
+    }
+
+    /**
+     *
+     * @throws Exception
+     */
+    public void write(String encoding)
+        throws Exception
+    {
         OutputStream os = null;
 
         if ( getOutputFile() != null )
@@ -299,6 +309,9 @@
         format.setIndentSize( 2 );
         format.setNewlines( true );
         format.setTrimText( true );
+        if(encoding != null) {
+            format.setEncoding(encoding);
+        }
 
         XMLWriter writer = new XMLWriter( format );
         writer.setOutputStream( os );
Index: plugin.jelly
===================================================================
--- plugin.jelly	(revision 291665)
+++ plugin.jelly	(arbetskopia)
@@ -128,8 +128,12 @@
         <j:set var="required" value="${transformer.transformRequired()}" />
         <j:if test="${required}">
           <ant:echo>Updating POM with version ${version}; tag ${tag}</ant:echo>
+          <!-- Set default encoding if not set. -->
+          <j:if test="${encoding == null}">
+              <j:set var="encoding" value="${maven.docs.outputencoding}" />
+          </j:if>
           ${transformer.transformNodes()}
-          ${transformer.write()}
+          ${transformer.write(encoding)}
         </j:if>
       </define:tag>
     </define:taglib>
@@ -189,8 +193,12 @@
         default="yes"/>
 
       <j:if test="${answer == 'yes'}">
+        <!-- Set default encoding if not set. -->
+        <j:if test="${encoding == null}">
+            <j:set var="encoding" value="${maven.docs.outputencoding}" />
+        </j:if>
         <!-- Write out the pom. -->
-        ${transformer.write()}
+        ${transformer.write(encoding)}
       </j:if>
 
     </j:if>
@@ -203,7 +211,11 @@
       transformations="transformations"/>
 
       ${transformer.transformNodes()}
-      ${transformer.write()}
+      <!-- Set default encoding if not set. -->
+      <j:if test="${encoding == null}">
+          <j:set var="encoding" value="${maven.docs.outputencoding}" />
+      </j:if>
+      ${transformer.write(encoding)}
 
   </goal>
 
@@ -212,7 +224,11 @@
       transformer="transformer"
       transformations="transformations"/>
       ${transformer.transformNodes()}
-      ${transformer.write()}
+      <!-- Set default encoding if not set. -->
+      <j:if test="${encoding == null}">
+          <j:set var="encoding" value="${maven.docs.outputencoding}" />
+      </j:if>
+      ${transformer.write(emcoding)}
   </goal>
 
   <!--
