Use Readers and Writers with a charset.
diff --git a/org.eclipse.gemini.web.core/src/main/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerService.java b/org.eclipse.gemini.web.core/src/main/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerService.java
index 91f2cbb..bafe256 100644
--- a/org.eclipse.gemini.web.core/src/main/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerService.java
+++ b/org.eclipse.gemini.web.core/src/main/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerService.java
@@ -23,6 +23,7 @@
 import java.io.OutputStream;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -108,7 +109,7 @@
         }
 
         private void transformManifest(InputStream inputStream, OutputStream outputStream) throws IOException {
-            InputStreamReader reader = new InputStreamReader(inputStream);
+            InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
             BundleManifest manifest = BundleManifestFactory.createBundleManifest(reader);
             InstallationOptions options = new InstallationOptions(this.webBundleUrl.getOptions());
             if (manifest.getHeader(WebContainerUtils.HEADER_DEFAULT_WAB_HEADERS) != null) {
diff --git a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
index 555f89e..1a8023a 100644
--- a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
+++ b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
@@ -24,6 +24,7 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -189,7 +190,7 @@
     }
 
     private void createManifest(Path toFile, String... headers) throws IOException {
-        try (PrintWriter writer = new PrintWriter(Files.newOutputStream(toFile))) {
+        try (PrintWriter writer = new PrintWriter(Files.newBufferedWriter(toFile, StandardCharsets.UTF_8))) {
             for (String header : headers) {
                 writer.println(header);
             }
diff --git a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
index b61050c..4b5345c 100644
--- a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
+++ b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
@@ -26,6 +26,7 @@
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLStreamHandler;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -142,7 +143,7 @@
     }
 
     private void createManifest(Path manifest, String... headers) throws Exception {
-        try (PrintWriter writer = new PrintWriter(Files.newOutputStream(manifest));) {
+        try (PrintWriter writer = new PrintWriter(Files.newBufferedWriter(manifest, StandardCharsets.UTF_8));) {
             for (String header : headers) {
                 writer.println(header);
             }
diff --git a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/extender/ExtenderBase.java b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/extender/ExtenderBase.java
index 4f44a23..aa1ec91 100644
--- a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/extender/ExtenderBase.java
+++ b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/extender/ExtenderBase.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2014 SAP AG

+ * Copyright (c) 2014, 2015 SAP AG

  *

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

@@ -26,6 +26,7 @@
 import java.io.InputStreamReader;

 import java.net.MalformedURLException;

 import java.net.URL;

+import java.nio.charset.StandardCharsets;

 import java.util.Collection;

 

 import javax.servlet.ServletContext;

@@ -187,7 +188,7 @@
     protected void validateURL(String path, String expectedResponse) throws MalformedURLException, IOException, InterruptedException {

         InputStream stream = openInputStream(path);

         assertNotNull(stream);

-        try (BufferedReader reader = new BufferedReader(new InputStreamReader(stream));) {

+        try (BufferedReader reader = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8));) {

             if (expectedResponse == null) {

                 String line = null;

                 while ((line = reader.readLine()) != null) {

@@ -213,6 +214,7 @@
         for (int i = 0; i < 5; i++) {

             try {

                 stream = url.openConnection().getInputStream();

+                break;

             } catch (IOException e) {

                 Thread.sleep(1000);

             }

diff --git a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
index 89174ae..1b510bf 100644
--- a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
+++ b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
@@ -311,7 +311,7 @@
             error = true;
         }
         assertNotNull(stream);
-        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+        BufferedReader reader = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8));
         String line = null;
         while ((line = reader.readLine()) != null) {
             System.out.println(line);
@@ -332,7 +332,7 @@
             error = true;
         }
         assertNotNull(stream);
-        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+        BufferedReader reader = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8));
         StringBuilder stringBuilder = new StringBuilder();
         String line = null;
         while ((line = reader.readLine()) != null) {