Index: /trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 6995)
@@ -10,6 +10,7 @@
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -292,5 +293,5 @@
                 for (File urlFile: urlFiles) {
                     try {
-                        BufferedReader reader = new BufferedReader(new FileReader(urlFile));
+                        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(urlFile), Utils.UTF_8));
                         String line;
                         while ((line = reader.readLine()) != null) {
Index: /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/AutosaveTask.java	(revision 6995)
@@ -159,5 +159,5 @@
                     try {
                         File pidFile = new File(autosaveDir, filename+".pid");
-                        PrintStream ps = new PrintStream(pidFile);
+                        PrintStream ps = new PrintStream(pidFile, "UTF-8");
                         ps.println(ManagementFactory.getRuntimeMXBean().getName());
                         Utils.close(ps);
@@ -310,5 +310,5 @@
                 if (pidFile.exists()) {
                     try {
-                        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(pidFile)));
+                        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(pidFile), Utils.UTF_8));
                         try {
                             String jvmId = reader.readLine();
@@ -403,5 +403,5 @@
     }
 
-    public void dicardUnsavedLayers() {
+    public void discardUnsavedLayers() {
         for (File f: getUnsavedLayersFiles()) {
             moveToDeletedLayersFolder(f);
Index: /trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java	(revision 6995)
@@ -32,5 +32,5 @@
 public class ServerSidePreferences extends Preferences {
     public static class MissingPassword extends Exception{
-        public String realm;
+        public final String realm;
         public MissingPassword(String r) {
             realm = r;
@@ -62,5 +62,5 @@
                     throw new MissingPassword(t);
                 }
-                BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
+                BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream(), Utils.UTF_8));
                 StringBuilder b = new StringBuilder();
                 try {
@@ -94,5 +94,5 @@
                 con.setDoOutput(true);
                 con.connect();
-                PrintWriter out = new PrintWriter(new OutputStreamWriter(con.getOutputStream()));
+                PrintWriter out = new PrintWriter(new OutputStreamWriter(con.getOutputStream(), Utils.UTF_8));
                 out.println(s);
                 Utils.close(out);
@@ -117,4 +117,8 @@
     }
 
+    /**
+     * Constructs a new {@code ServerSidePreferences}.
+     * @param serverUrl The server URL hosting the user preferences.
+     */
     public ServerSidePreferences(URL serverUrl) {
         Connection connection = null;
Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 6995)
@@ -135,5 +135,5 @@
         try {
             InputStream in = new MirroredInputStream("resource://data/projection/epsg");
-            r = new BufferedReader(new InputStreamReader(in));
+            r = new BufferedReader(new InputStreamReader(in, Utils.UTF_8));
             String line, lastline = "";
             while ((line = r.readLine()) != null) {
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java	(revision 6995)
@@ -104,5 +104,5 @@
         topLevelSubGrid = null;
         in.read(b8);
-        String overviewHeaderCountId = new String(b8);
+        String overviewHeaderCountId = new String(b8, Utils.UTF_8);
         if (!"NUM_OREC".equals(overviewHeaderCountId))
             throw new IllegalArgumentException("Input file is not an NTv2 grid shift file");
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 6995)
@@ -75,14 +75,14 @@
         in.read(b8);
         in.read(b8);
-        subGridName = new String(b8).trim();
-        in.read(b8);
-        in.read(b8);
-        parentSubGridName = new String(b8).trim();
-        in.read(b8);
-        in.read(b8);
-        created = new String(b8);
-        in.read(b8);
-        in.read(b8);
-        updated = new String(b8);
+        subGridName = new String(b8, Utils.UTF_8).trim();
+        in.read(b8);
+        in.read(b8);
+        parentSubGridName = new String(b8, Utils.UTF_8).trim();
+        in.read(b8);
+        in.read(b8);
+        created = new String(b8, Utils.UTF_8);
+        in.read(b8);
+        in.read(b8);
+        updated = new String(b8, Utils.UTF_8);
         in.read(b8);
         in.read(b8);
Index: /trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java	(revision 6995)
@@ -6,8 +6,10 @@
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -171,5 +173,5 @@
                 BufferedReader in = null;
                 try {
-                    in = new BufferedReader(new FileReader(file));
+                    in = new BufferedReader(new InputStreamReader(new FileInputStream(file), Utils.UTF_8));
                     for (String line = in.readLine(); line != null; line = in.readLine()) {
                         ignoredErrors.add(line);
@@ -197,5 +199,5 @@
         PrintWriter out = null;
         try {
-            out = new PrintWriter(new FileWriter(getValidatorDir() + "ignorederrors"), false);
+            out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(getValidatorDir() + "ignorederrors"), Utils.UTF_8), false);
             for (String e : ignoredErrors) {
                 out.println(e);
Index: /trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 6995)
@@ -492,5 +492,5 @@
                         autosaveTask.recoverUnsavedLayers();
                     } else if (selection == 3) {
-                        autosaveTask.dicardUnsavedLayers();
+                        autosaveTask.discardUnsavedLayers();
                     }
                 }
Index: /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 6995)
@@ -22,4 +22,5 @@
 import java.util.TreeMap;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.zip.CRC32;
 
 import javax.swing.JComponent;
@@ -1326,6 +1327,6 @@
         String x = center.east() + "_" + center.north() + "_" + scale + "_" +
                 getWidth() + "_" + getHeight() + "_" + getProjection().toString();
-        java.util.zip.CRC32 id = new java.util.zip.CRC32();
-        id.update(x.getBytes());
+        CRC32 id = new CRC32();
+        id.update(x.getBytes(Utils.UTF_8));
         return (int)id.getValue();
     }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 6995)
@@ -659,5 +659,5 @@
                 InputStream is = s.getSourceInputStream();
                 try {
-                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+                    BufferedReader reader = new BufferedReader(new InputStreamReader(is, Utils.UTF_8));
                     try {
                         String line;
Index: /trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 6995)
@@ -137,5 +137,6 @@
         BufferedReader reader = new BufferedReader(
                 new InputStreamReader(
-                        getClass().getResourceAsStream("/data/help-browser.css")
+                        getClass().getResourceAsStream("/data/help-browser.css"),
+                        Utils.UTF_8
                 )
         );
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 6995)
@@ -235,5 +235,5 @@
                 return new XmlStyleSource(entry);
             else {
-                InputStreamReader reader = new InputStreamReader(in);
+                InputStreamReader reader = new InputStreamReader(in, Utils.UTF_8);
                 try {
                     WHILE: while (true) {
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/xml/XmlStyleSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/xml/XmlStyleSource.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/xml/XmlStyleSource.java	(revision 6995)
@@ -77,5 +77,5 @@
             InputStream in = getSourceInputStream();
             try {
-                InputStreamReader reader = new InputStreamReader(in);
+                InputStreamReader reader = new InputStreamReader(in, Utils.UTF_8);
                 XmlObjectParser parser = new XmlObjectParser(new XmlStyleSourceHandler(this));
                 parser.startWithValidation(reader,
Index: /trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java	(revision 6995)
@@ -214,5 +214,5 @@
         BufferedReader r = null;
         try {
-            r = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+            r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Utils.UTF_8));
             String c;
             Pattern p = Pattern.compile(".*authenticity_token.*value=\"([^\"]+)\".*");
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTask.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTask.java	(revision 6995)
@@ -195,5 +195,5 @@
             }
             StringBuilder changesets = new StringBuilder();
-            bin = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+            bin = new BufferedReader(new InputStreamReader(connection.getInputStream(), Utils.UTF_8));
             String line;
             while ((line = bin.readLine()) != null) {
Index: /trunk/src/org/openstreetmap/josm/io/CacheFiles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/CacheFiles.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/CacheFiles.java	(revision 6995)
@@ -322,5 +322,5 @@
         try {
             MessageDigest md = MessageDigest.getInstance("MD5");
-            BigInteger number = new BigInteger(1, md.digest(ident.getBytes()));
+            BigInteger number = new BigInteger(1, md.digest(ident.getBytes(Utils.UTF_8)));
             return number.toString(16);
         } catch(Exception e) {
Index: /trunk/src/org/openstreetmap/josm/io/NmeaReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 6995)
@@ -176,5 +176,5 @@
         BufferedReader rd = null;
         try {
-            rd = new BufferedReader(new InputStreamReader(source));
+            rd = new BufferedReader(new InputStreamReader(source, Utils.UTF_8));
 
             StringBuilder sb = new StringBuilder(1024);
@@ -243,5 +243,5 @@
             if(chkstrings.length > 1)
             {
-                byte[] chb = chkstrings[0].getBytes();
+                byte[] chb = chkstrings[0].getBytes(Utils.UTF_8);
                 int chk=0;
                 for (int i = 1; i < chb.length; i++) {
Index: /trunk/src/org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 6995)
@@ -191,5 +191,5 @@
         @Override
         protected byte[] updateData() throws OsmTransferException {
-            return sendRequest("GET", "capabilities", null, monitor, false, fastFail).getBytes();
+            return sendRequest("GET", "capabilities", null, monitor, false, fastFail).getBytes(Utils.UTF_8);
         }
     }
Index: /trunk/src/org/openstreetmap/josm/io/OsmServerReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 6995)
@@ -174,5 +174,5 @@
                         InputStream i = fixEncoding(activeConnection.getErrorStream(), encoding);
                         if (i != null) {
-                            BufferedReader in = new BufferedReader(new InputStreamReader(i));
+                            BufferedReader in = new BufferedReader(new InputStreamReader(i, Utils.UTF_8));
                             String s;
                             while((s = in.readLine()) != null) {
Index: /trunk/src/org/openstreetmap/josm/io/imagery/WMSGrabber.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/imagery/WMSGrabber.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/imagery/WMSGrabber.java	(revision 6995)
@@ -190,5 +190,5 @@
         StringBuilder exception = new StringBuilder();
         InputStream in = conn.getInputStream();
-        BufferedReader br = new BufferedReader(new InputStreamReader(in));
+        BufferedReader br = new BufferedReader(new InputStreamReader(in, Utils.UTF_8));
         try {
             String line = null;
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 6995)
@@ -143,5 +143,5 @@
         try {
             OutputStream raw = new BufferedOutputStream(request.getOutputStream());
-            out = new OutputStreamWriter(raw);
+            out = new OutputStreamWriter(raw, Utils.UTF_8);
             BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(), "ASCII"));
 
Index: /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 6995)
@@ -543,5 +543,5 @@
                 } else {
                     try {
-                        bytes = URLDecoder.decode(data, "utf-8").getBytes();
+                        bytes = URLDecoder.decode(data, "UTF-8").getBytes(Utils.UTF_8);
                     } catch (IllegalArgumentException ex) {
                         Main.warn("Unable to decode URL data part: "+ex.getMessage() + " (" + data + ")");
@@ -550,5 +550,5 @@
                 }
                 if (mediatype != null && mediatype.contains("image/svg+xml")) {
-                    String s = new String(bytes);
+                    String s = new String(bytes, Utils.UTF_8);
                     URI uri = getSvgUniverse().loadSVG(new StringReader(s), URLEncoder.encode(s, "UTF-8"));
                     SVGDiagram svg = getSvgUniverse().getDiagram(uri);
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 6995)
@@ -10,5 +10,5 @@
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -227,5 +227,5 @@
                 // Try lsb_release (only available on LSB-compliant Linux systems, see https://www.linuxbase.org/lsb-cert/productdir.php?by_prod )
                 Process p = Runtime.getRuntime().exec("lsb_release -ds");
-                BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
+                BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream(), Utils.UTF_8));
                 String line = Utils.strip(input.readLine());
                 Utils.close(input);
@@ -312,5 +312,5 @@
                     BufferedReader reader = null;
                     try {
-                        reader = new BufferedReader(new FileReader(file));
+                        reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Utils.UTF_8));
                         String id = null;
                         String release = null;
Index: /trunk/src/org/openstreetmap/josm/tools/Utils.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 6994)
+++ /trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 6995)
@@ -812,5 +812,5 @@
         }
         Process p = new ProcessBuilder(command).start();
-        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
+        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream(), UTF_8));
         StringBuilder all = null;
         String line;
Index: /trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java
===================================================================
--- /trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java	(revision 6994)
+++ /trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java	(revision 6995)
@@ -10,7 +10,8 @@
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.text.MessageFormat;
@@ -36,4 +37,5 @@
 import org.openstreetmap.josm.gui.io.UploadStrategySpecification;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
+import org.openstreetmap.josm.tools.Utils;
 
 public class MultiFetchServerObjectReaderTest {
@@ -211,5 +213,5 @@
         try {
             PrintWriter pw = new PrintWriter(
-                    new FileWriter(dataSetCacheOutputFile)
+                    new OutputStreamWriter(new FileOutputStream(dataSetCacheOutputFile), Utils.UTF_8)
             );
             logger.info(MessageFormat.format("caching test data set in ''{0}'' ...", dataSetCacheOutputFile.toString()));
Index: /trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java
===================================================================
--- /trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java	(revision 6994)
+++ /trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java	(revision 6995)
@@ -8,7 +8,8 @@
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.text.MessageFormat;
@@ -37,4 +38,5 @@
 import org.openstreetmap.josm.gui.io.UploadStrategySpecification;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
+import org.openstreetmap.josm.tools.Utils;
 
 public class OsmServerBackreferenceReaderTest {
@@ -218,5 +220,5 @@
         try {
             PrintWriter pw = new PrintWriter(
-                    new FileWriter(dataSetCacheOutputFile)
+                    new OutputStreamWriter(new FileOutputStream(dataSetCacheOutputFile), Utils.UTF_8)
             );
             logger.info(MessageFormat.format("caching test data set in ''{0}'' ...", dataSetCacheOutputFile.toString()));
Index: /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java	(revision 6994)
+++ /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java	(revision 6995)
@@ -3,7 +3,8 @@
 
 import java.io.BufferedReader;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.util.Collection;
 import java.util.HashMap;
@@ -48,5 +49,5 @@
     @Test
     public void test() throws IOException, FileNotFoundException {
-        BufferedReader in = new BufferedReader(new FileReader("data_nodist/projection-reference-data.csv"));
+        BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("data_nodist/projection-reference-data.csv"), Utils.UTF_8));
         StringBuilder fail = new StringBuilder();
         String line;
@@ -92,5 +93,4 @@
             throw new AssertionError(fail.toString());
         }
-
     }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 6994)
+++ /trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java	(revision 6995)
@@ -5,8 +5,10 @@
 import java.io.BufferedWriter;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -29,4 +31,5 @@
 import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
 import org.openstreetmap.josm.tools.Pair;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -87,5 +90,5 @@
 
         Random rand = new Random();
-        BufferedWriter out = new BufferedWriter(new FileWriter(PROJECTION_DATA_FILE));
+        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(PROJECTION_DATA_FILE), Utils.UTF_8));
         out.write("# Data for test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java\n");
         out.write("# Format: 1. Projection code; 2. lat/lon; 3. lat/lon projected -> east/north; 4. east/north (3.) inverse projected\n");
@@ -112,5 +115,5 @@
 
     private static List<TestData> readData() throws IOException, FileNotFoundException {
-        BufferedReader in = new BufferedReader(new FileReader(PROJECTION_DATA_FILE));
+        BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(PROJECTION_DATA_FILE), Utils.UTF_8));
         List<TestData> result = new ArrayList<TestData>();
         String line;
