Index: SimpleDOWriter.java
===================================================================
--- SimpleDOWriter.java	(revision 8115)
+++ SimpleDOWriter.java	(working copy)
@@ -4,8 +4,7 @@
  */
 package fedora.server.storage;
 
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
+import java.io.*;
 
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -288,7 +287,12 @@
                                                   RDFFormat.RDF_XML);
                 newIter = new FilteredTripleIterator(iter, toAdd, true);
                 newIter.toStream(out, RDFFormat.RDF_XML, false);
-                String xmlContent = new String(out.toByteArray());
+                String xmlContent;
+                try {
+                  xmlContent = new String(out.toByteArray(), "UTF-8");
+                } catch (UnsupportedEncodingException e) {
+                  throw new GeneralException(e.getMessage(), e);
+                }
 
                 if (newIter.wasChangeMade()) {
                     DatastreamXMLMetadata newds = new DatastreamXMLMetadata();
@@ -308,7 +312,11 @@
                     newds.DSLocation = null;
                     newds.DSLocationType = null;
                     newds.DSChecksumType = relsExt.DSChecksumType;
-                    newds.xmlContent = xmlContent.getBytes();
+                    try {
+                      newds.xmlContent = xmlContent.getBytes("UTF-8");
+                    } catch (UnsupportedEncodingException e) {
+                      throw new GeneralException(e.getMessage(), e);
+                    }
                     newds.DSSize = newds.xmlContent.length;
 
                     ValidationUtility.validateReservedDatastream(PID.getInstance(m_obj.getPid()),
