diff --git a/source/java/org/alfresco/web/scripts/ClassPathStore.java b/source/java/org/alfresco/web/scripts/ClassPathStore.java index a254a2b5f0..efd1799641 100644 --- a/source/java/org/alfresco/web/scripts/ClassPathStore.java +++ b/source/java/org/alfresco/web/scripts/ClassPathStore.java @@ -34,9 +34,11 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.io.Reader; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.service.cmr.repository.ScriptLocation; import org.springframework.beans.factory.InitializingBean; import org.springframework.core.io.ClassPathResource; @@ -322,7 +324,14 @@ public class ClassPathStore implements WebScriptStore, InitializingBean */ public Reader getReader() { - return new InputStreamReader(getInputStream()); + try + { + return new InputStreamReader(getInputStream(), "UTF-8"); + } + catch (UnsupportedEncodingException e) + { + throw new AlfrescoRuntimeException("Unsupported Encoding", e); + } } @Override diff --git a/source/java/org/alfresco/web/scripts/RepoStore.java b/source/java/org/alfresco/web/scripts/RepoStore.java index 26e21c0295..c34efc6141 100644 --- a/source/java/org/alfresco/web/scripts/RepoStore.java +++ b/source/java/org/alfresco/web/scripts/RepoStore.java @@ -28,10 +28,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.transaction.RetryingTransactionHelper; @@ -587,7 +589,7 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli public Reader execute() throws Exception { ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT); - return new InputStreamReader(reader.getContentInputStream()); + return new InputStreamReader(reader.getContentInputStream(), reader.getEncoding()); } }); } @@ -676,7 +678,15 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli */ public Reader getReader() { - return new InputStreamReader(getInputStream()); + ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT); + try + { + return new InputStreamReader(getInputStream(), reader.getEncoding()); + } + catch (UnsupportedEncodingException e) + { + throw new AlfrescoRuntimeException("Unsupported Encoding", e); + } } @Override